まずは、REST WebサービスからXMLレスポンスを取得するコードを書く必要があります。一部のタグには、タグ内の値は例です。C#でいくつかの値の中にタグを含むXMLファイルを解析する
<Root date="22.22.2222" version="specific system versonning">
<record field1="value1" field2="value1" specialfield="just_a_normal_value"/>
<record field1="value1" field2"value2" specialfield=" <multiplesubfields subfield1= "subvalue1" subfield2="subvalue2"/> " field3="value3"/>
<record field1="value1" field2"value2" specialfield=" <multiplesubfields subfield1= "subvalue1" subfield2="subvalue2" subfield3="subvalue3"/> " field3="value3"/>
<record field1="value1" field2="value1" specialfield="just_a_normal_value"/>
</Root>
タグ値の内側のフィールドの数は固定されていません。 一部のレコードでは、特殊フィールドにはタグが内部にない通常の値のみが含まれています。その場合は変更が必要ありません。
<Root date="22.22.2222" version="specific system versonning">
<record field1="value1" field2="value1" specialfield="just_a_normal_value"/>
<record field1="value1" field2"value2" subfield1= "subvalue1" subfield2="subvalue2" field3="value3"/>
<record field1="value1" field2"value2" subfield1= "subvalue1" subfield2="subvalue2" subfield3="subvalue3" field3="value3"/>
<record field1="value1" field2="value1" specialfield="just_a_normal_value"/>
</Root>
:
私は何をしたい、これらのサブフィールドと値を取得し、彼らは通常のフィールドをWHEREとして親タグに追加し、結果は以下のようにする必要があり、それからフィールドspecialfieldを削除することです次のXMLファイルを取得するためのコードです:
static void Main(string[] args)
{
string url = "www.blablabla.."
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.Credentials = new NetworkCredential("USER", "PASSWORD");
XmlDocument xmlDoc = new XmlDocument();
using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
{
xmlDoc.Load(resp.GetResponseStream());
}
}
上記のコードを働いている、完全にファイルをフェッチしている、私は
StringWriter sw = new StringWriter();
XmlTextWriter tx = new XmlTextWriter(sw);
xmlDoc.WriteTo(tx);
System.Console.Writeline(sw.ToString());
でそれをチェックします
しかし、私は清潔な方法で残りの部分を行う手がかりがありません。私はStackoverflowや他のサイトで多くの他の同様の記事を読むが、まだ始めることができませんでした。私は、私が働くかもしれない私自身のいくつかの醜いString treatementのアイデアを持っていることを意味しますが、私はそれらを試してみることもできません。
この投稿を読んでいただきありがとうございます。
これは整形式のXMLではないため、整形式のXMLを期待するXMLパーサーでこれを解析しようとする試みは失敗します。特に、引用符の中の引用符は大きなショーストッパーになるでしょう。これが解析しようとしている**実際の** XMLであることを確認してください。また、ここに投稿する前に何かに解釈されるように祈っているわけではありません。例えば、最も内側の引用符は本当にエスケープ文字ですか? –
こんにちは、コメントのおかげで、私は100%確信している私は受け取っている形式であり、あなたはそれを解析することはできません。 – user3255004