Если у вас есть документ XML, и вам нужно найти определенные узлы на основе определенных значений атрибутов (4 числа), которые будут правильным подходом (с точки зрения производительности): -XmlDocment - как получить узлы путем фильтрации с помощью XPath
a) Отфильтруйте документ XML (с XPath
), чтобы получить список узлов, который соответствует любому из значений атрибутов, а затем перейдите через список фильтрованных узлов, чтобы получить узлы, имеющие определенное значение атрибута, используя If-else.
b) Отфильтровать документ XML (с XPath
) для каждого значения атрибута отдельно.
<Nodes>
<a class="myclass" type="type1">some text</a>
<a class="myclass" type="type2">some text</a>
<img src = "myGraphic.jpg?id={Guid}"/>
</Nodes>
Я использую ниже XPath (который может быть неправильно :-))
"//A[@class] | //a[@class] | //IMG[@src] | //img[@src]"
Целью является получить отдельный список всего, имеющего тип = «Type1» отдельный список type = "type2" и отдельный список идентификаторов в теге img.
Пожалуйста, покажите пример того, что вы имеете в виду. Непонятно, почему вы бы просто не использовали одно выражение XPath, чтобы сразу найти все узлы. –
«почему бы вам не использовать только одно выражение XPath» - это вариант a) в вопросе. После получения всех узлов сразу нужно поставить If-else для получения значений узлов для каждого типа значения атрибута. Это хороший подход. Добавлен пример. –
@user: не торопитесь. Это не обязательно, чтобы быть копией вашего реального XML. Просто что-то, что показывает, что вы имеете в виду значения атрибута. Например, я не понимаю, почему вам нужно, если/else. –