Читать XML-узел - PullRequest
       23

Читать XML-узел

0 голосов
/ 11 декабря 2008

Я хочу прочитать конкретный узел xml и его значение, например

<customers>
<name>John</name>
<lastname>fetcher</lastname>
</customer>

и мой код должен быть примерно таким (я не знаю, как это должно быть:))

Response.Write(xml.Node["name"].Value) 

бла-бла. Как я уже сказал, это просто пример, потому что я не знаю, как это сделать. Не могли бы вы помочь мне, пожалуйста.

Спасибо.

Привет ..

Ответы [ 4 ]

3 голосов
/ 11 декабря 2008

Самый простой ответ:
Предполагая, что "xml" является XMLDocument, XMLNodeList, XMLNode и т. Д ...

Response.Write(xml.SelectSingleNode("//name").innerText)
3 голосов
/ 11 декабря 2008

Какую версию .NET вы используете? Если вы используете .NET 3.5 и можете использовать LINQ to XML, это просто:

document.Descendant("name").Value

(за исключением некоторой обработки ошибок!) Если вы работаете с DOM API, вам может понадобиться:

document.SelectSingleNode("//name").InnerText

Обратите внимание, что это ничего не говорит о том, как вы будете читать XML в первую очередь - если вам нужна помощь с этим битом, пожалуйста, дайте больше подробностей в вопросе.

2 голосов
/ 11 декабря 2008

Если вы используете более ранние версии .Net Framework, взгляните сначала на класс XMLDocument , так как это то, во что вы будете загружать строку XML. Подклассы, такие как XMLElement и XMLNode также полезны для выполнения некоторых из этих работ.

1 голос
/ 11 декабря 2008

не пытался его протестировать, но все равно должно указывать правильное направление

 'Create the XML Document
 Dim l_xmld As XmlDocument
'Create the XML Node
        Dim l_node As XmlNode

            l_xmld = New XmlDocument

            'Load the Xml file
            l_xmld.LoadXml("XML Filename as String")

            'get the attributes
            l_node = l_xmld.SelectSingleNode("/customers/name")

           Response.Write(l_node.InnerText)
...