在 PostgreSQL 9.1 上,我可以在没有任何错误的情况下执行这两个查询,结果正确:
SELECT xpath('/a', '<a s:dd="11"><c>test</c></a>')
SELECT xpath('/a', '<a s:dd="11"><c>test</c></a>',ARRAY[ARRAY['s', 'http://example.com']])
在 PostgreSQL 9.2 上,相同的查询会引发错误:
ERROR: could not parse XML document
DETAIL: line 1: Namespace prefix s for dd on a is not defined
只有这个查询可以正常工作:
SELECT xpath('/a', '<a xmlns:s="ddd" s:dd="11"><c>test</c></a>')
我如何解析 XML 文件,修改 XML 代码?
当我想对 xml 元素进行 xpath 查询时,问题就开始了,从以前的查询中得到。
例如xml文档:
<some xmlns:my="somens">
<a>
<b my:param="11" />
</a>
</some>
我想做这样的事情:
elem = xpath('/a',doc);
elem2= xpath('//b',elem[0]);
第二行抛出错误,因为未知前缀 my. 有任何想法吗?