【问题标题】:XPath - trim the leading white spaceXPath - 修剪前导空白
【发布时间】:2014-03-06 07:51:15
【问题描述】:

如果下面的 XML 文件中的“名称”元素没有前导空格,则下面的代码可以正常工作。在 XPath 表达式 ss 中他们有一种方法来修剪前导 XML 元素的空白?或者任何其他方式来处理这样的空白问题?谢谢!

$xmldoc = simplexml_load_file("products.xml");
$query = $xmldoc->xpath('/products/product[starts-with(name, "Desk")]');
foreach($query as $Products) {
echo $Products->name . " ";
echo $Products->price . "<br>";
}

<products>
<product type="Electronics">
<name> Desktop</name>
<price>499.99</price>
<store>Best Buy</store>
</product>

【问题讨论】:

  • starts-with(normalize-space(concat(' ',name)), " Desk")
  • 有效!非常感谢!

标签: php xml xpath


【解决方案1】:

normalize-space 函数:

/products/product[starts-with(normalize-space(name), "Desk")]

将从您应用的任何内容中删除尾随空格。

【讨论】: