【发布时间】:2013-12-29 09:18:37
【问题描述】:
我想重写 XML 文件的一小部分。
这个想法是,我可以处理如下情况:
<Line>
<P Name="Src">5</P>
<P Name="Dst">4</P>
</Line>
但是,有时,XML 文件包含一些类似这样的信息:
<Line>
<P Name="Src">2</P>
<P Name="Points">[3, 0]</P>
<Branch>
<P Name="Points">[0, 8]</P>
<P Name="Dst">5</P>
</Branch>
<Branch>
<P Name="Dst">3</P>
</Branch>
</Line>
我想要的很简单,我想把上面右边的信息改写成开始模式:
1)。删除<P Name="Points">[*,*]</P>
2)。将<P Name="Src">*</P> 放入每个<Branch>
3)。把<Branch>改成<Line>
预期结果将是:
<Line>
<P Name="Src">2</P>
<P Name="Dst">5</P>
</Line>
<Line>
<P Name="Src">2</P>
<P Name="Dst">3</P>
</Line>
是否有任何建议或建议这样做
谢谢
【问题讨论】:
-
我建议阅读 SAX。这是解决这个问题的明显工具。
-
Xslt 非常适合这种转换。
-
@DavidWallace SAX 与 DOM 有什么不同吗?
-
@MGorgon xslt 是否可用于 xml 到 xml 的转换?
-
当然,xslt 代表“XML 转换”。它是为此而生的。