Чтение XML-значения по имени атрибута - PullRequest
0 голосов
/ 05 декабря 2018
<Customer>
    <Type H="General Information" ID="GeneralInfo">
         <Row>
             <C H="Customer Name">Mr. Robert</C>
             <C H="Relation">S/O. John</C>
             <C H="Date of Birth">01/01/1985</C>
        </Row>
    </Type>
    <Type H = "Other Details" ID = "ShareDet">
         <Row>
            <C H = "Address 1">XYZ</C>
            <C H = "Address 2">ABC</C>
        </Row>
    </Type>
</Customer>

Я пытаюсь прочитать "мистер Роберт" сверху XML в C #, но не смог.Я попробовал ниже код:

XmlDocument objXmlMain = new XmlDocument();
objXmlMain.LoadXml("Loading_Above_XMLSTRING");
string test = objXmlMain.SelectSingleNode("Customer/Type/Row/C/@H").Value;

Я получаю результат как " Имя клиента " (это значение атрибута).Я хочу прочитать Имя, проверив значение атрибута «Имя клиента», и должен получить результат как « Мистер Роберт »

1 Ответ

0 голосов
/ 05 декабря 2018

Вам необходимо использовать:

string test = objXmlMain.SelectSingleNode("Customer/Type/Row/C[@H='Customer Name']").Value;

Запрос Customer/Type/Row/C/@H xpath выбирает сам атрибут H, а .Value возвращает текст этого атрибута.

...