作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一个 XPATH 表达式,它将执行搜索以确保字段中没有字母。例如输入 XML:
<?xml version="1.0" encoding="UTF-8"?>
<payload>
<records>
<record>
<number>123</number>
</record>
<record>
<number>456</number>
</record>
<record>
<number>78A</number>
</record>
</records>
</payload>
<?xml version="1.0" encoding="UTF-8"?>
<payload>
<records>
<record>
<number>123</number>
</record>
<record>
<number>456</number>
</record>
</records>
</payload>
/payload/records/record[reg expression here?]
<?xml version="1.0" encoding="UTF-8"?>
<payload>
<records>
<record>
<number>123</number>
<time>12pm</time>
<zome>UK</zome>
</record>
<record>
<number>456</number>
<time>12pm</time>
<zome>UK</zome>
</record>
<record>
<number>78A</number>
<time>12pm</time>
<zome>UK</zome>
</record>
</records>
</payload>
最佳答案
XPath(1.0 和 2.0)是一种用于 XML 文档的查询语言。
因此 XPath 表达式仅选择节点集(或提取其他数据),但不能更改 XML 文档 的结构(如删除节点)。
因此,不可能构造一个将提供的 XML 文档更改为所需的 XPath 表达式。
使用 XSLT 或 XQuery 可以轻松完成此任务(不那么容易):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="record[translate(number, '0123456789', '')]"/>
</xsl:stylesheet>
<payload>
<records>
<record>
<number>123</number>
</record>
<record>
<number>456</number>
</record>
<record>
<number>78A</number>
</record>
</records>
</payload>
<payload>
<records>
<record>
<number>123</number>
</record>
<record>
<number>456</number>
</record>
</records>
</payload>
关于xml - XPATH 过滤掉带有字母的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10431239/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!