0

「Identity」の属性値を持つルートノード「Identity」の各要素(参照)を出力しようとしています。

例えば:

印刷したい

00002C8DGPDDTZ5D, S2513.268898, John S2613.269022, JOHN 

一行で

000388MRUO7TRSBH, S2513.285402,Doe, S2613.285476Doe

別のなどで。

私が自分自身を明確にしていない場合はお知らせください。

ありがとう

XML ファイル

<Identity Identifier="00002C8DGPDDTZ5D" CDate="2013-02-07">
<References>
    <Reference>
        <Value>A^S2513.268898|B^JOHN</Value>
        <Traces/>
    </Reference>
    <Reference>
        <Value>A^S2613.269022|B^JOHN</Value>
        <Traces/>
    </Reference>
</References>
 <Identity Identifier="000388MRUO7TRSBH" CDate="2013-02-07">
<References>
    <Reference>
        <Value>A^S2513.285402|B^Doe</Value>
        <Traces/>
    </Reference>
    <Reference>
        <Value>A^S2613.285476|B^Doe</Value>
        <Traces/>
    </Reference>
</References>

また、

次のコードを試しました。

 XmlNodeList OysterID = doc.GetElementsByTagName("Identity");  
     XmlNodeList Reference = doc.GetElementsByTagName("Value");
 for (int j = 1; j <= i; j++)

                    s[j] = Reference[j].InnerText;

似たようなものが欲しい。ルートの各要素をルート属性値とともに出力する for ループが必要です。各要素でルート属性値を取得する方法を考えることができません。

4

2 に答える 2

1

このようなものはどうですか

        foreach (XmlNode element in xmlDocument.GetElementsByTagName("Identity"))
        {
            string output = element.Attributes[0].Value;
            foreach (XmlNode xmlNode in element.ChildNodes)
            {
                foreach (XmlNode reference in xmlNode.ChildNodes)
                {
                    output += reference.InnerText;
                }
            }
            //Output here should be onelined.. 
        }

出力は希望どおりにフォーマットされないため、何らかのフォーマットが必要です。しかし、あなたはそれを一行で持つでしょう:)

于 2013-02-19T15:34:50.600 に答える
0

これを試して。

        string xml = @"<Identity Identifier=""00002C8DGPDDTZ5D"" CDate=""2013-02-07"">      <References>        <Reference>             <Value>A^S2513.268898|B^JOHN</Value>            <Traces/>       </Reference>        <Reference>             <Value>A^S2613.269022|B^JOHN</Value>            <Traces/>       </Reference>    </References>   <Identity Identifier=""000388MRUO7TRSBH"" CDate=""2013-02-07"">     </Identity>     <References>        <Reference>             <Value>A^S2513.285402|B^Doe</Value>             <Traces/>       </Reference>        <Reference>             <Value>A^S2613.285476|B^Doe</Value>             <Traces/>       </Reference>    </References>  </Identity>    ";
        XDocument xmlDoc = XDocument.Parse(xml);
        IEnumerable<XElement> entries = xmlDoc.Descendants("Reference");
        foreach (XElement entry in entries) {
            string temp = entry.Value;
        }
于 2013-02-19T15:30:58.513 に答える