Tag: XPath

如何使用Xpath检索XML文件中的命名空间

我有一个XML文件,像这样开始: <Elements name="Entities" xmlns="XS-GenerationToolElements"> 我将不得不打开很多这些文件。 每一个都有不同的命名空间,但一次只有一个命名空间(我永远不会在一个xml文件中find两个命名空间)。 使用XPath我想有一个自动的方式来添加给定的命名空间到命名空间pipe理器。 到目前为止,我只能通过parsingXML文件来获得名称空间,但是我有一个XPathNavigator实例,它应该有一个很好的干净的方式来获取名称空间,对不对? – 要么 – 鉴于我只有一个命名空间,不知何故使得XPath使用唯一的存在于XML中,从而避免总是附加命名空间混乱的代码。

XPath获取没有父节点的所有子节点(元素,注释和文本)

我需要一个XPath来获取没有父元素的所有ChildNode(包括文本元素,注释元素和子元素)。 任何帮助 示例示例: <DOC> <PRESENTEDIN> <X> First Text Node #1 <y> Y can Have Child Nodes # <child> deep to it </child> </y> Second Text Node #2 <z/> </X> <EVTS> <evt/> <evt> <mtg_descr> SAE 2006 World Congress &amp; Exhibition </mtg_descr> <sess_descr> Advanced Hybrid Vehicle Powertrains (Part 1 of 5) </sess_descr> <loc> Detroit,MI,United States </loc> <sess_prod_grp_cd> […]

如何在xpath中使用不包含()?

我有一些这样构造的XML: <whatson> <productions> <production> <category>Film</category> </production> <production> <category>Business</category> </production> <production> <category>Business training</category> </production> </productions> </whatson> 而且我需要select一个不包含“Business”的类别(这个例子中的第一个生产)。 这可能与xpath? 我试图沿着这些线路工作,但无处可去: //production[not(contains(category,'business'))]

带有多个谓词的Xpathexpression式

我正在尝试构build一个复杂的xpathexpression式,它将回答以下情况。 从下面的XML数据中,返回用户实体: 他的login名是“ user1 ” 他的名字是“ 用户1 ” 他有两个不同的configuration文件值是“ 运营商 ”和“ pipe理员 ”(我不知道前面的确切顺序) <user> <login>user1</login> <name>User 1</name> <profile> <value>admin</value> <id>2</id> <description>admin users</description> </profile> <profile> <value>operator</value> <id>1</id> <description>Operator</description> </profile> </user> <user> <login>user2</login> <name>User 2</name> <profile> <value>admin</value> <id>4</id> <description>admins users</description> </profile> <profile> <value>poweruser</value> <id>5</id> <description>power users</description> </profile> </user> </root> 有人可以提供这样一个例子吗? 编辑:添加一个复杂的configuration文件实体

XSL if else条件

我有一个要求,如果我想要有其他语句来检查一个节点是否有属性或它只是string。 例如:节点1有0 File(s) found ,另一个有<autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> ,如<autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> 以下是两个节点的示例 <product> <autoIncludeUser>0 File(s) found</autoIncludeUser> <autoIncludeSystem> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='3,879' filename='AnalystsExpressionMacros.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='475' filename='base64Converter.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='&lt;DIR&gt;' filename='codePages' /> </autoIncludeSystem> <autoIncludeStudio>0 File(s) […]

css-selector和Xpath有什么区别? 哪个更好(根据性能和跨浏览器testing)?

我正在使用Selenium WebDriver 2.25.0多语言networking应用程序,主要testing页面内容(针对不同的语言,如阿拉伯语,英语,俄语等)。 对于我的应用程序,根据性能更好,并确保它应该支持所有的浏览器(即IE 7,8,9,FF,Chrome等)。 预先感谢您的宝贵build议。

使用XPath访问XML中的注释

如何使用XPath访问XML文档中的注释? 例如: <table> <length> 12 </length> <!–Some comment here–> </table> 我想访问“在这里的一些评论”。 谢谢… 编辑:我使用MSXML的DOM ActiveX和命令评论()似乎是失败…任何想法,为什么?

如何从XSLT中的子节点读取父节点的属性

只是想知道如何从XSLT中的子节点读取父节点的属性。 码: <A> <b attr1="xx"> <c> </c> </b> </A> XSLT: <xsl:template match="c"> <xsl:value-of select="attribute of b node"> </xsl:template>

xmllint无法正确查询xpath

我试图查询由adium生成的xml文件。 xmlwf说这是很好的forms。 通过使用xmllint的debugging选项,我得到以下内容: $ xmllint –debug doc.xml DOCUMENT version=1.0 encoding=UTF-8 URL=doc.xml standalone=true ELEMENT chat default namespace href=http://purl.org/net/ulf/ns/0.4-02 ATTRIBUTE account TEXT content=foo@bar.com ATTRIBUTE service TEXT compact content=MSN TEXT compact content= ELEMENT event ATTRIBUTE type 一切似乎parsing就好了。 但是,当我试图查询最简单的东西时,我什么也得不到: $ xmllint –xpath '/chat' doc.xml XPath set is empty 发生了什么? 使用xpath运行完全相同的查询返回正确的结果(但结果之间没有换行符)。 我做错了什么或者是xmllint只是不正常工作? 下面是一个较短的匿名版本的xml,显示了相同的行为: <?xml version="1.0" encoding="UTF-8" ?> <chat xmlns="http://purl.org/net/ulf/ns/0.4-02" account="foo@bar.com" […]

在子节点上运行XPath

我正在尝试对xpath查找返回的节点执行xpath查找,但似乎并不像我期望的那样工作。在文档的子节点上执行的XPath似乎是针对文档的根节点执行的例如库存标签),而不是提供的节点的根。 我在这里错过了什么? 我是XPath的新手。 此外,请不要回答“只要做/ /书[作者='尼尔斯蒂芬森'/标题”。 我有一个合法的用例,这是一个简单的例子。 代码片段 DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse("src/main/java/books.xml"); XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); Node book = (Node) xpath.evaluate("//book[author='Neal Stephenson']", doc, XPathConstants.NODE); Node title = (Node) xpath.evaluate("/title", book, XPathConstants.NODE); // I get null here. Node inventory = (Node) xpath.evaluate("/inventory", book, XPathConstants.NODE); […]