2016-09-30 4 views
0

Вот мой XML файлКак выбрать XmlNode из своего ключа с помощью XPATH

<Drive> 
    <Data0 Key="1" Name="AA" /> 
    <Data1 Key="2" Name="BB" /> 
    <Data2 Key="4" Name="CC" /> 
    <Data3 Key="10" Name="WW" /> 
    <Data4 Key="11" Name="WE" /> 
    <Data5 Key="12" Name="VW" /> 
    </Drive> 

Я хочу, чтобы выбрать все узлы, где их [Key] начинаются с "1" с помощью C# и XML XPATH

I попытался это:

XmlNodeList FKNodes = node.SelectNodes("*/* [@Key like '1*']") 
+0

Привет! Что вы пробовали? Вы можете это показать? – Vasilievski

+0

см. Обновление моего вопроса –

+1

Я думаю, что [это] (http://stackoverflow.com/a/4151347/4045532), вероятно, вы хотите. – Corporalis

ответ

2

Вы можете использовать *, чтобы выбрать элемент любого имени, и использовать starts-with() функцию, чтобы соответствовать значение в Key атрибут частично :

XmlNodeList FKNodes = node.SelectNodes("//*[starts-with(@Key, '1')]") 

xpath demo

+0

это работает, спасибо –

+0

где я могу найти все функции, такие как start-with()! –

+1

@Michaagus добавил ссылку на официальную спецификацию. Здесь вы можете найти другие функции XPath 1.0. И это альтернативная ссылка на MDN: https://developer.mozilla.org/en-US/docs/Web/XPath/Functions – har07

Смежные вопросы