我有一个类似XML的
<Jobs>
<job>
....
</job>
<job>
....
</job>
....
</Jobs>
现在,在不带整体的情况下,在单独的文件中编写每个作业节点的最佳方法是什么 使用xmlreader和xmlwriter或其他任何选项将文件存入内存?
答案 0 :(得分:3)
答案 1 :(得分:2)
XSLT 3.0和流媒体的早期阶段,但以下XSLT 3.0样式表应该在Saxon-EE 9.4中完成工作:
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:mode streamable="yes" on-no-match="shallow-copy">
<xsl:template match="job">
<xsl:result-document href="job{position()}.xml">
<xsl:next-match/>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
答案 2 :(得分:0)
如果数据确实看起来与您描述的完全一致(包括空格),那么最好的选择是使用StreamReader。它有一种读取到当前行末尾的方法。你读到行直到</job>
。然后冲洗该工作并重复。
另外,我认为XmlReader不是一个糟糕的选择。