【发布时间】:2012-07-05 18:59:12
【问题描述】:
是否有可用的方法(即无需我创建自己的递归方法),用于给定的 xpath(或识别分层位置的其他方法)来创建/更新 XML 节点,如果这样做,将在其中创建节点不存在?如果父节点也不存在,则需要创建它。我确实有一个包含所有可能节点的 XSD。
即 之前:
<employee>
<name>John Smith</name>
</employee>
想这样称呼:
CoolXmlUpdateMethod("/employee/address/city", "Los Angeles");
之后:
<employee>
<name>John Smith</name>
<address>
<city>Los Angeles</city>
</address>
</employee>
或者甚至是一种创建节点的方法,给定一个 xpath,如果父节点不存在,它将递归地创建它们?
就应用程序而言(如果重要的话),这是采用仅包含填充节点的现有 XML 文档,并从另一个系统向其添加数据。新数据可能已经在源 XML 中填充了值,也可能没有。
这肯定不是罕见的情况吗?
【问题讨论】:
-
XPath 是一种用于 XML 文档的 查询 语言,因此它不能修改文档的结构(包括删除或创建新节点)。 XSLT 正是为编程 XML 文档转换而创建的——这个特殊的转换与 XSLT 无关。您对 XSLT 解决方案感兴趣吗?