「SOAP」APIを使用してMagentoeコマースと統合していますが、APIは「XML」の結果を返します。問題は、これが常に整形式であるとは限らないことです。
<product>
<entity_id>18</entity_id>
<price regular="2925 <span>Nok</span>"/>
...
この特定のケースでは、価格の通常の属性には、非表示の文字0xa0(スパンタグの前)と、属性テキスト内の<>の両方が含まれています。
Magentoから適切な整形式のXMLを取得する方法がないようです。そのため、XmlSerializer
逆シリアル化にフィードする前にクリーンアップすることもできます。
XmlSerializer serializer = new XmlSerializer(typeof(Responses.Product.product));
product = serializer.Deserialize(textReader) as Responses.Product.product;
単純なテキスト置換を使用して取り除くことができる非表示の文字ですが、属性テキスト内の<>についてはよくわかりません。
私の質問は、有効なXMLになるようにクリーンアップする方法です。