Xpath路径无法正常工作

时间:2013-11-11 13:30:53

标签: c# xml xpath xpathnavigator

我正试图通过XpathNavigator获取一个元素及其兄弟姐妹。

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE document SYSTEM 'xmlschemas/domino_6_5_5.dtd'>
<document xmlns='http://www.lotus.com/dxl' version='6.5' maintenanceversion='5.0'>
    <item name='Keywords'><text/></item>
    <item name='Version'><number>1</number></item>
    <item name='UPDATEDISTRIBUTION'><text>1</text></item>
    <item name='$FILE' summary='true' sign='true' seal='true'>
        <object>
            <file hosttype='cdstorage' compression='none' flags='storedindoc' name='STG08828'>
                <created><datetime>20110119T230442,22+01</datetime></created>
            </file>
        </object>
    </item>
</document>

我想导航到file-element,使用以下XPath:

//item/name/object/file[@name='STG08828']

为什么这条路是错的?

编辑:感谢我的“名字”暗示 - 错误。

当我尝试运行它时,我什么都没得到。

XmlElement rootNode = xmlDoc.DocumentElement;
// select the file Element
String query = "//file[@name='" + name + "']";
XmlNodeList fileElement = rootNode.SelectNodes(query);

2 个答案:

答案 0 :(得分:1)

我想你想要:

//item/object/file[@name='STG08828']

或者只是:

//file[@name='STG08828']

答案 1 :(得分:0)

我认为您错过了xmlns ='http://www.lotus.com/dxl'

的名称空间

示例:

XNamespace myMs = "http://www.lotus.com/dxl";
相关问题