Как получить доступ к значениям XML String в C #? - PullRequest
1 голос
/ 10 февраля 2011

Я учусь использовать веб-сервисы ReST, и мне нужно выяснить, как получить конкретное значение из возвращаемой строки xml. Как я могу просто получить 1 значение из строки XML? Все, что я хочу, это одно значение. Есть ли способ конвертировать эту строку во что-то с индексатором?

Я использую сервис геокодирования Yahoo. Результаты:

<ResultSet version="1.0">
<Error>0</Error>
<ErrorMessage>No error</ErrorMessage>
<Locale>us_US</Locale>
<Quality>87</Quality>
<Found>1</Found>
−
<Result>
<quality>85</quality>
<latitude>86.457310</latitude>
<longitude>-73.262245</longitude>
<offsetlat>46.457311</offsetlat>
<offsetlon>-73.262071</offsetlon>
<radius>500</radius>
<name/>
<line1>1234 N Main St</line1>
<line2>Anytown, New York  12345</line2>
<line3/>
<line4>United States</line4>
<house>1234</house>
<street>N Main St</street>
<xstreet/>
<unittype/>
<unit/>
<postal>12345</postal>
<neighborhood/>
<city>New York</city>
<county>Albany County</county>
<state>New York</state>
<country>United States</country>
<countrycode>US</countrycode>
<statecode>NY</statecode>
<countycode/>
<uzip>12345</uzip>
<hash>E692D20CBDF86A2E</hash>
<woeid>12783988</woeid>
<woetype>11</woetype>
</Result>
</ResultSet>

Ответы [ 3 ]

3 голосов
/ 10 февраля 2011

Вы можете использовать Linq для XML

XDocument xmlfile= XDocument.Load("PATH TO XML DOC");
var test = from xml in xmlfile.Descendants("item_name")
           select new { Title = (string)xml.Element("title").Value };

Это один из способов.

2 голосов
/ 10 февраля 2011

Используйте XPath для адресации интересующего вас узла:

http://msdn.microsoft.com/en-us/library/d271ytdx(v=VS.90).aspx

Для преобразования строки XML в документ XML

XmlDocument doc = new XmlDocument();
doc.LoadXml(yourString);

Вот хорошийВведение в XPath: http://www.codeproject.com/KB/cpp/myXPath.aspx

1 голос
/ 10 февраля 2011

См. Мой вопрос по Самый простой способ прочитать XML с атрибутами . Я обнаружил, что использование xsd.exe для создания xsd, который позволяет вам управлять доступом к XML, было самым простым способом доступа к данным XML. LINQ2XML также был довольно прост в использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...