请告诉我如何找到任何属性的节点对象

时间:2009-12-30 13:01:23

标签: xml vb.net

我有一个属性对象,我想知道它的节点名称是什么(谁包含这个attribut)..请给我解决方案(vb.net更喜欢)..

2 个答案:

答案 0 :(得分:3)

让我们说我想我知道你想要什么。来自给定属性的节点的名称。

这样的东西
Dim s As String = "<nodelist><node><val id=""test""/></node></nodelist>"
Dim doc As New XmlDocument()
doc.LoadXml(s)
Dim attribute As XmlAttribute = doc.SelectSingleNode("//nodelist/node/val").Attributes(0)
Dim name As String = attribute.OwnerElement.Name

答案 1 :(得分:1)

使用XmlDocument

        string xml = @"<xml><el att=""abc""/></xml>";
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);
        XmlAttribute attr = (XmlAttribute)
            doc.SelectSingleNode("//@att");
        string elName = attr.OwnerElement.Name;

XDocument

        string xml = @"<xml><el att=""abc""/></xml>";
        XDocument doc = XDocument.Parse(xml);
        XAttribute attr = ((XElement)doc.Root.FirstNode).FirstAttribute;
        string elName = attr.Parent.Name.LocalName;