7

私はXmlElement C#で作業しています。私は持っていXmlElementます。ソースはXmlElement以下のサンプルのようになります。

サンプル:

<data>
    <p>hello all
        <strong>
            <a id="ID1" href="#" name="ZZZ">Name</a>
        </strong>
    </p>
    <a id="ID2" href="#" name="ABC">Address</a>
</data>

上記のXMLをループして、要素名を検索する必要がありますa。また、その要素のIDを変数に抽出したいと思います。

基本的に、要素のID属性を取得したいと思います<a>。子要素として、または別の親として発生する可能性があります。

誰かがそれをどのように行うことができるかを助けることができますか?

4

1 に答える 1

5

C# 4.0 を使用しているので、次のように linq-to-xml を使用できます。

XDocument xdoc = XDocument.Load(@"C:\Tmp\your-xml-file.xml");
foreach (var item in xdoc.Descendants("a"))
{
   Console.WriteLine(item.Attribute("id").Value);
}

a階層内のどこにあるかに関係なく、要素を提供する必要があります。


あなたのコメントから、XmlDocument クラスと XmlElement クラスのみを使用するコードの場合、同等のコードは次のようになります。

XmlDocument dd = new XmlDocument();
dd.Load(@"C:\Tmp\test.xml");
XmlElement theElem = ((XmlElement)dd.GetElementsByTagName("data")[0]);
//         ^^ this is your target element 
foreach (XmlElement item in theElem.GetElementsByTagName("a"))//get the <a>
{
    Console.WriteLine(item.Attributes["id"].Value);//get their attributes
}
于 2012-05-10T05:39:13.177 に答える