Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按标记内的值对XML进行排序_Xml_Sorting - Fatal编程技术网

按标记内的值对XML进行排序

按标记内的值对XML进行排序,xml,sorting,Xml,Sorting,我搜索了很多关于排序XML的问题,但没有找到我需要的东西 我在下面有这个XML文件 <?xml version="1.0" encoding="UTF-8"?> <Package> <types> <members>C</members> <members>A</members> <members>B</members>

我搜索了很多关于排序XML的问题,但没有找到我需要的东西

我在下面有这个XML文件

    <?xml version="1.0" encoding="UTF-8"?>
<Package>
    <types>
        <members>C</members>
        <members>A</members>
        <members>B</members>
        <name>Released</name>
    </types>
    <types>
        <members>B</members>
        <members>A</members>
        <name>Beta</name>
    </types>
<version>45.0</version>

C
A.
B
释放
B
A.
贝塔
45

那么我想这样分类

    <?xml version="1.0" encoding="UTF-8"?>
<Package>
    <types>
        <members>A</members>
        <members>B</members>
        <name>Beta</name>
    </types>
    <types>
        <members>A</members>
        <members>B</members>
         <members>C</members>
        <name>Released</name>
    </types>
<version>45.0</version>
</Package>

A.
B
贝塔
A.
B
C
释放
45

我尝试使用XLS,但失败了,有人可以帮我吗?

您似乎在两个级别进行排序。您正在对
中的
子元素进行排序(顺便说一句,我发现在这里用复数名词来表示标记非常混乱),您还在对
中的
元素进行排序——但我还没有弄清楚您的排序标准是什么,只有两个样本,就有点难以检测模式

元素进行排序很容易:

<xsl:template match="types">
  <xsl:for-each select="members">
    <xsl:sort select="."/>
  </xsl:for-each>
  <xsl:copy-of select="name"/>
</xsl:template>


如果您的目标是根据成员对类型进行排序,考虑到按字母顺序排列的成员,那么我将采用两步解决方案:首先对成员进行排序,然后对类型进行排序。但是,在尝试为其推荐代码之前,我希望对需求有一个更清晰的描述。

我的对话已经晚了,但是如果您仍然需要帮助对package.xml文件进行排序的话。请尝试以下vs代码扩展

  • 安装SF Package.xml格式化程序

  • 调出命令托盘(在Mac上Ctrl+Shift+p或Cmd+Shift+p)并运行以下命令

    排序-Salesforce Package.xml按字母顺序递增

  • vs代码扩展:


    希望这是有帮助的

    展示你失败的尝试总是有用的。这给了我们一些线索,你已经知道了什么,我们需要告诉你什么。如果您几乎已经准备好了,那么从头开始制作一个工作示例对我们来说是浪费时间的。@MichaelKayI尝试使用类似的方法“类型”元素有多个“成员”子元素,所以,的xsl:sort和xsl:value看起来都是错误的。感谢您的帮助。我的要求是使文件更易于人类阅读。该文件是为与Salesforce一起使用而生成的。更多详细信息: