Tag: XPath

Java:如何通过org.w3c.dom.document上的xpathstring来定位元素

如何通过给定的org.w3c.dom.document上的xpathstring快速定位元素/元素? 似乎没有FindElementsByXpath()方法。 例如 /html/body/p/div[3]/a 当发现有很多同名的元素时,我发现迭代遍历所有的子节点级别会很慢。 有什么build议么? 我不能使用任何parsing器或库,只能使用w3c dom文档。

如何在使用XPathselectXML节点时忽略名称空间

我必须parsing一个如下所示的XML文档: <?xml version="1.0" encoding="UTF-8" ?> <m:OASISReport xmlns:m="http://oasissta.caiso.com/mrtu-oasis/xsd/OASISReport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://oasissta.caiso.com/mrtu-oasis/xsd/OASISReport.xsd http://oasissta.caiso.com/mrtu-oasis/xsd/OASISReport.xsd"> <m:MessagePayload> <m:RTO> <m:name>CAISO</m:name> <m:REPORT_ITEM> <m:REPORT_HEADER> <m:SYSTEM>OASIS</m:SYSTEM> <m:TZ>PPT</m:TZ> <m:REPORT>AS_RESULTS</m:REPORT> <m:MKT_TYPE>HASP</m:MKT_TYPE> <m:UOM>MW</m:UOM> <m:INTERVAL>ENDING</m:INTERVAL> <m:SEC_PER_INTERVAL>3600</m:SEC_PER_INTERVAL> </m:REPORT_HEADER> <m:REPORT_DATA> <m:DATA_ITEM>NS_PROC_MW</m:DATA_ITEM> <m:RESOURCE_NAME>AS_SP26_EXP</m:RESOURCE_NAME> <m:OPR_DATE>2010-11-17</m:OPR_DATE> <m:INTERVAL_NUM>1</m:INTERVAL_NUM> <m:VALUE>0</m:VALUE> </m:REPORT_DATA> 问题是命名空间“http://oasissta.caiso.com/mrtu-oasis/xsd/OASISReport.xsd”有时可能会有所不同。 我想完全忽略它,只是从标签MessagePayload下游获取我的数据。 我到目前为止使用的代码是: String[] namespaces = new String[1]; String[] namespaceAliases = new String[1]; namespaceAliases[0] = "ns0"; namespaces[0] = "http://oasissta.caiso.com/mrtu-oasis/xsd/OASISReport.xsd"; File inputFile = new File(inputFileName); Map […]

JSON有什么好的CLI工具?

一般问题 虽然我可能正在诊断事件的根本原因,确定它影响的用户数量,或提取定时日志以评估最近代码更改的性能和吞吐量影响,但我的工具保持不变: grep , awk , sed , tr , uniq , sort , zcat , tail , head , join和split 。 为了把它们粘在一起,Unix给了我们pipe道,为了更好的过滤,我们有了xargs 。 如果这些让我失望,总会有perl -e 。 这些工具非常适合处理CSV文件,制表符分隔的文件,具有可预测的行格式的日志文件或使用逗号分隔的键值对的文件。 换句话说,每行有没有上下文的文件。 XML类似物 我最近需要浏览Gigabytes的XML来构build一个用户使用的直方图。 对于我所用的工具来说,这很简单,但对于更复杂的查询,正常的方法会失败。 说我有像这样的项目的文件: <foo user="me"> <baz key="zoidberg" value="squid" /> <baz key="leela" value="cyclops" /> <baz key="fry" value="rube" /> </foo> 假设我想产生一个从用户到平均数<baz> s per <foo>的映射。 逐行处理不再是一个select:我需要知道哪个用户的<foo>我正在检查,所以我知道谁的平均更新。 完成这个任务的任何一种Unix单线程都可能是不可思议的。 幸运的是,在XML-land中,我们拥有诸如XPath,XQuery和XSLT等奇妙技术来帮助我们。 […]

XPath:select不*具有特定名称的子元素

<a> <b/> <c/> <d/> <b/> <e/> </a> 如何select那些不是“b”的孩子?

如何使用XPath中的Java命名空间查询XML?

当我的XML看起来像这样(没有xmlns ),那么我可以很容易地查询与XPath像/workbook/sheets/sheet[1] <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <workbook> <sheets> <sheet name="Sheet1" sheetId="1" r:id="rId1"/> </sheets> </workbook> 但是当它看起来像这样然后我不能 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"> <sheets> <sheet name="Sheet1" sheetId="1" r:id="rId1"/> </sheets> </workbook> 有任何想法吗?

jquery通过xpathselect元素

我有一个xpathselect器。 我怎样才能得到匹配的select器使用jQuery的元素? 我已经看到https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript,但它不使用jquery,它似乎有点太冗长,我想它不是跨浏览器。 此外,这个http://jsfiddle.net/CJRmk/似乎不工作…

XPath – 获取没有特定types的子节点

XML: /A/B或/A 我想得到所有没有任何B孩子的A节点。 我试过了 /A[not(B)] /A[not(exists(B))] 没有成功 如果可能的话,我更喜欢使用语法/*[local-name()="A" and …. ]的解决scheme。 任何想法的作品? 澄清。 XML看起来像: <WhatEver> <A> <B></B> </A> </WhatEver> 要么 <WhatEver> <A></A> </WhatEver>

XPath:从子节点获取父节点

我需要得到父节点的子节点“标题50” 目前我只使用 //*[title="50"] 我怎么能得到它的父母? 结果应该是store节点。 <?xml version="1.0" encoding="utf-8"?> <d:data xmlns:d="defiant-namespace" d:mi="23"> <store d:mi="22"> <book price="12.99" d:price="Number" d:mi="4"> <title d:constr="String" d:mi="1">Sword of Honour</title> <category d:constr="String" d:mi="2">fiction</category> <author d:constr="String" d:mi="3">Evelyn Waugh</author> </book> <book price="8.99" d:price="Number" d:mi="9"> <title d:constr="String" d:mi="5">Moby Dick</title> <category d:constr="String" d:mi="6">fiction</category> <author d:constr="String" d:mi="7">Herman Melville</author> <isbn d:constr="String" d:mi="8">0-553-21311-3</isbn> </book> <book price="8.95" d:price="Number" d:mi="13"> <title d:constr="String" […]

使用XPath,如何根据文本内容和属性值来select一个节点?

鉴于这个XML: <DocText> <WithQuads> <Page pageNumber="3"> <Word> July <Quad> <P1 X="84" Y="711.25" /> <P2 X="102.062" Y="711.25" /> <P3 X="102.062" Y="723.658" /> <P4 X="84.0" Y="723.658" /> </Quad> </Word> <Word> </Word> <Word> 30, <Quad> <P1 X="104.812" Y="711.25" /> <P2 X="118.562" Y="711.25" /> <P3 X="118.562" Y="723.658" /> <P4 X="104.812" Y="723.658" /> </Quad> </Word> </Page> </WithQuads> 我想查找具有“July”文本和四/ P1 / X属性大于90的节点。因此,在这种情况下,它不应该返回任何匹配。 […]

XPath查找没有id或class的元素

如何获得所有tr元素没有id属性? <tr id="name">…</tr> <tr>…</tr> <tr>…</tr> 谢谢