如何使用dom解析器在java中根据另一个XML文件重新排序一个XML文件中的标记

2vuwiymt  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(129)

我有一个XML文件,说是source。XML

<college>SIET</college>

<name>Rithvik</name>
<college>SCET</college>

<name>Prabhas</name>

也有引用的XML文件说引用。XML

<name>Prabhas</name>

<college>SCET</college>
<name>Ritvik</name>

 <college>SIET</college>

我的要求是根据引用的XML文件重新排序源XML文件的标记。最后,源XML将变成引用的XML
输出:源。XML

<name>Prabhas</name>

<college>SCET</college>
<name>Ritvik</name>

 <college>SIET</college>

我试过很多方法,但都找不到解决办法。如果你帮助我,那将是一个很大的忙

ndh0cuux

ndh0cuux1#

我看不出有什么理由要用DOM而不是XSLT来完成这项工作。
在XSLT(2.0或3.0):
(a)按照元素名称在参考文档中出现的顺序获取元素名称的列表,例如

<xsl:variable name="elNames" 
     select="doc('reference.xml')//person[1]/*/local-name()"/>

(b)根据以下列表对输入文档中person元素的子元素进行排序:

<xsl:template match="person">
  <person>
    <xsl:perform-sort select="*">
      <xsl:sort select="index-of($elNames, local-name())"/>
    </xsl:perform-sort>
  </person>
</xsl:template>

相关问题