草庐IT

php - 根据属性查找特定元素

我一直在回顾我所有的旧代码并尝试优化它。我最近偶然发现并让我感到困惑的是试图为此找到一个xpath解决方案:functionfindit($search){$i=0;foreach($xmlas$page){//looptofindspecific$elementbasedon$attributeif($page['src']==$search){return$i;}$i++;}}需要返回$i,以便后面引用XML中的元素。这似乎应该可行,而且我发现了一些xpath字符串,它们看起来应该可以工作,但实际上没有。他们通常引用preceding-children并通过xpath()函数对其进

php - DOMDocument/Xpath 在长时间的命令行过程中泄漏内存 - 任何解构此类的方法

我正在构建一个命令行php抓取应用程序,它使用XPath来分析HTML-问题是每次在循环中加载一个新的DOMXPath类实例时,我得到的内存损失大致等于正在加载XML。脚本运行并运行,慢慢增加内存使用量,直到达到限制并退出。我试过用gc_collect_cycles()强制垃圾回收并且PHP仍然没有从旧的Xpath请求中取回内存。事实上,DOMXPath类的定义似乎甚至没有包含析构函数?所以我的问题是......在我已经提取了必要的数据之后,是否有任何方法可以强制清理DOMXPath上的垃圾?可以预见,在类实例上使用unset什么都不做。代码没什么特别的,只是标准的Xpath东西://

PHP Xpath : Get all href's that contain "letter"

假设我有一个已加载的html文件,我运行此查询:$url='http://www.fangraphs.com/players.aspx';$html=file_get_contents($url);$myDom=newDOMDocument;$myDom->formatOutput=true;@$myDom->loadHTML($html);$anchor=$xpath->query('//a[contains(@href,"letter")]');这给了我这些anchor的列表,如下所示:Aa但我需要一种方法来只获取“players.aspx?letter=Aa”。我想我可以试试:$

php - 扩展 DOMDocument 和 DOMNode : problem with return object

我正在尝试扩展DOMDocument类,以便更轻松地进行XPath选择。我写了这段代码:classmyDOMDocumentextendsDOMDocument{functionselectNodes($xpath){$oxpath=newDOMXPath($this);return$oxpath->query($xpath);}functionselectSingleNode($xpath){return$this->selectNodes($xpath)->item(0);}}这些方法分别返回一个DOMNodeList和一个DOMNode对象。我现在想做的是实现与DOMNode对象

php - MediaWiki + Graphviz + 图像映射 + 页面链接

背景:使用MediaWiki1.19.1、Graphviz2.28.0、扩展:WAMP堆栈上的GraphViz0.9(服务器2008、Apache2.4.2、MySQL5.5.27、PHP5.4.5).对于使用MediaWiki中的GraphViz扩展从Graphviz图表渲染可点击图像的基本功能,一切都运行良好并且符合预期。问题:图像映射中的链接没有添加到MediaWiki页面链接表中。我明白为什么没有添加它们,但如果没有办法使用“这里有什么链接”功能来跟踪链接,这就会成为一个问题。所需的解决方案:在GraphViz扩展中处理图表期间,我想使用生成的.map文件创建一个维基链接列表以

php - SimpleXMLElement、xpath 和子元素

我正在访问YouTube上的gDataApi。我将使用thisxml供引用。我在子SimpleXMLElement对象上使用xpath,但xpath不只搜索子元素及其子元素,它似乎仍在从根向下搜索。我有以下代码:registerXPathNamespace('yt','http://gdata.youtube.com/schemas/2007');foreach($xmlData->entryas$entry){var_dump($entry->asXml());myFunction($entry);die();}functionmyFunction(SimpleXMLElement$

java - 开源 XPath Filter 2.0 实现

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有谁知道XPathFilter2.0的开源实现吗?,最好用Java?但任何其他语言也可以。该标准不是那么新,所以应该存在一些东西,但我找不到任何东西......如果真的没有什么是足够的,有没有人实现过它并且可以告诉我用标准方法(DOM模型加XPath)实现它有多困难?只是粗略估计,两个全职工作的人需要几天还是几周的时间?

java - XPathFactory 不工作

我正在尝试使用XPathFactory来计算Java应用程序中的表达式。但是我遇到了撒克逊特有的错误。有一次我使用Saxon来实现某些功能,为此我必须设置一个系统属性:System.setProperty("javax.xml.xpath.XPathFactory:"+NamespaceConstant.OBJECT_MODEL_SAXON,"net.sf.saxon.xpath.XPathFactoryImpl");XPathFactoryxpf=XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON);但是,现在我

java - 文档声明单独的空命名空间呈现 NamespaceAware 结果无用

我正在尝试对Maven使用的“正确”pom.xml执行一些检索查询。为此,我使用来自JDOM的基本XPath查询。不幸的是,查询不返回任何结果(简单的后代过滤器也不返回任何结果)。我有理由相信问题出在pom.xml的根声明中:可以看出,定义了一个空命名空间,它既不匹配""也不匹配"http://www.w3.org/2000/xmlns/",其中“”是默认的无命名空间,xmlns命名空间是默认的xmlns命名空间。给定一个Document,当我想执行如下XPath查询时:XPathBuilderdepQueryBuilder=newXPathBuilder("//dependencie

java - 解析格式错误/不完整/无效的 XML 文件

这个问题在这里已经有了答案:Howtoparseinvalid(bad/notwell-formed)XML?(4个答案)关闭5年前。我有一个解析XML文件的过程,使用JDOM和xpath来解析文件,如下所示:privatestaticSAXBuilderbuilder=null;privatestaticDocumentdoc=null;privatestaticXPathxpathInstance=null;builder=newSAXBuilder();Textlist=null;try{doc=builder.build(newStringReader(xmldocument)