给定一个看起来像这个简化摘录的HTML文件:.........sil我可以使用哪个XPath表达式来选择包含“data-x-*”属性的每个节点?为了提供更多上下文,我正在使用PHP并想查询DOMXpath对象。 最佳答案 这个XPath,//*[starts-with(name(@*),"data-x-")]将选择所有具有名称以"data-x-"开头的属性的元素。 关于php-XPath选择属性名称开头的节点,我们在StackOverflow上找到一个类似的问题:
有人知道如何使用php、DomDocument和DomXpath查询graphml文档吗?我的查询似乎是正确的。例如//graphml/图/节点$dom=newDomDocument();$dom->load("doc.graphml");$x=newDOMXPath($dom);$x->registerNamespace('y',"http://www.yworks.com/xml/graphml");$r=$x->query("//graphml/graph/node");echo$r->length;返回的长度始终为0;但它必须是1。XML:vilauma
DOMXPath$html->query('//p[@class="myclass"]/a')->item(0);不工作。这是HTML:Lalala.$name=$html->query('//p[@class="username"]/a')->item(0)->nodeValue;//Thisdoesn'treturnthename"Lalala.";$name=$html->query('//p[@class="username"]')->item(0)->nodeValue;//Thisworksjustfine.为什么这棵树不工作?我打错了吗?非常感谢您。
这是我使用的代码:$doc=//SOAPResponse$xpath=newDOMXPath($doc);$xpath->registerNamespace('soap','http://schemas.xmlsoap.org/soap/envelope/');$xpath->registerNamespace('api','http://127.0.0.1/Integrics/Enswitch/API');//Response:if($xpath->query('/soap:Envelope/soap:Body/api:get_cdrsResponse')->length它一直抛出这
我正在尝试使用DOMDocument,但遇到了一些问题。我有一个这样的字符串:SomeContenttokeepThiscontentshouldremain,butspanarounditshouldbestrippedKeepthiscontenttooThiswholenodeshouldbedeleted我想做的是,如果span有一个类似ice-del的类保留内部内容但删除span标签。如果它有ice-ins,删除整个节点。如果只是一个空span也将其删除。这是我的代码://thisgettheabovementionedstring$getVal=$array['body']
我正在使用下面的功能,但不确定它是否始终稳定/安全...是吗?何时以及谁可以稳定/安全地“重用部分DOMXpath准备程序”?为了简化XPathquery()method的使用我们可以采用一个函数来内存最后一次使用静态变量的调用,functionDOMXpath_reuser($file){static$doc=NULL;static$docName='';static$xp=NULL;if(!$doc)$doc=newDOMDocument();if($file!=$docName){$doc->loadHTMLFile($file);$xp=NULL;}if(!$xp)$xp=ne
我试图从以下内容中仅提取第二个ul的li标签。不幸的是,html中没有类或id可以提供帮助SometextSometextSometextSomemoretextSomemoretextSomemoretext我已经尝试过(实际上是一些事情):$ul=$xpath->query('//ul')->item(1);$query='/li';$lis=$xpath->evaluate($query,$ul);我想这会给我第二个ul,然后我可以从那里提取。它确实让我得到了第二个ul的html,但我显然误解了`->evaluate?因为我的li都是li的,不只是第二个ul的。
假设我有这个:CCCsometexthereAAAsometextDDDsomething现在,我想获取baz值,它紧跟在bar之后,值为AAA(!但只有值AAA!)。我不知道我有多少个“foo”,所以我不能准确地写出如下内容:$element->item(0)//Idon'tknowtheexactnumber那么我怎样才能得到baz的值,它跟在具有特定值的bar之后?(对于上面的例子,我想得到sometext,因为它在AAA之后) 最佳答案 根据您希望执行匹配的具体方式,可以使用不同的方法来编写匹配的XPath。以下是一些选项:
我有一组要解析的html项目。我需要解析类名以“uid-g-uid”结尾的div的内容。以下是示例div...112114234114235我已经尝试了以下组合但没有奏效$doc=newDOMDocument();$bdy='HTMLContentgoeshere...';@$doc->loadHTML($bdy);$xpath=newDomXpath($doc);$div=$xpath->query('//*[@class=ends-with(.,"uid-g-uid")]');也尝试过$doc=newDOMDocument();$bdy='HTMLContentgoeshere..
当我想用XPath打印计算表达式的结果时出现错误。$url=$xpath->evaluate('//a/@href',$event);回显$url;我有这个错误:可捕获的fatalerror:类DOMNodeList的对象无法转换为字符串我的代码:loadHTML($source);//DOMXPathCreation$xpath=newDOMXPath($doc);//Getallevents$events=$xpath->query('//li[@class="nom"]');//Countnumberofeventsprintf('Thereis%devents',$events