>source

이 XML을 가지고 있습니다.

<Details>    <tag1/>    <tagn/>    <Books>        <Book id= "B1" >            <ParentRelationships>                <Relation ParentId= "B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book>        <Book id= "B5">            <ParentRelationships>                <Relation ParentId= "B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book>        <Book id= "B2">            <ParentRelationships/>            <ChildRelationships/>        </Book>        <Book id= "B8">            <ParentRelationships/>            <ChildRelationships/>        </Book>        <Book id= "B4">            <ParentRelationships/>            <ChildRelationships>                <Relation ChildId= "B1"/>                <Relation ChildId= "B5"/>            </ChildRelationships>        </Book>    </Books></Details>

ID를 정렬 된 순서로 부모 라인 아래에 나타나는 방식으로 ID를 사용 하여이 정렬 된이를이를 변환하고 싶습니다.

<Details>    <tag1/>    <tagn/>    <Books>        <Book id= "B2">            <ParentRelationships/>            <ChildRelationships/>        </Book>        <Book id= "B4">            <ParentRelationships/>            <ChildRelationships>                <Relation ChildId= "B1"/>                <Relation ChildId= "B5"/>            </ChildRelationships>        </Book>        <Book id= "B1">            <ParentRelationships>                <Relation ParentId= "B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book>        <Book id= "B5" >            <ParentRelationships>                <Relation ParentId= "B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book>        <Book id= "B8">            <ParentRelationships/>            <ChildRelationships/>        </Book>    </Books></Details>

나는 XSLT에 새로운 것이고 xsl 정렬을 사용하여 다음을 사용하여 정상적으로 정렬 할 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">     <xsl:template match="node()|@*">      <xsl:copy>         <xsl:apply-templates select="node()|@*"/>      </xsl:copy>    </xsl:template>    <xsl:template match="Details/Books">        <ShipmentLines>            <xsl:for-each select="Book">                <xsl:sort select="@id"/>                <xsl:copy-of select="."/>            </xsl:for-each>        </ShipmentLines>    </xsl:template></xsl:stylesheet>

와 같이 출력 :

<?xml version="1.0"?><Details>    <tag1/>    <tagn/>    <ShipmentLines><Book id="B1">            <ParentRelationships>                <Relation ParentId="B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book><Book id="B2">            <ParentRelationships/>            <ChildRelationships/>        </Book><Book id="B4">            <ParentRelationships/>            <ChildRelationships>                <Relation ChildId="B1"/>                <Relation ChildId="B5"/>            </ChildRelationships>        </Book><Book id="B5">            <ParentRelationships>                <Relation ParentId="B4"/>            </ParentRelationships>            <ChildRelationships/>        </Book><Book id="B8">            <ParentRelationships/>            <ChildRelationships/>        </Book></ShipmentLines></Details>

그러나 원하는 출력을 얻을 수 없습니다. 누군가가 할 수 있다면 솔루션 접근법을 제공하십시오. 매우 긴급합니다. : |

"나는 그것을 정리 할 수는 있지만 원하는 출력을 얻을 수 없을 수 없다"는 것은 무엇을 의미합니까? 당신은 무엇을 코딩 했습니까? 어떤 (잘못된) 출력을 얻었습니까? 이러한 요소를 추가하기 위해 질문을 편집하여 더 많은 사람들이 당신을 도울 수 있습니다.

Pierre François2021-08-13 23:44:09

Hi @ Pierrefrançois, 의견을 보내 주셔서 감사합니다. 누락 된 세부 사항을 추가했습니다.

Ella2021-08-13 23:44:09
  • 이전 MySQL Workbench : 타임 스탬프 필드 추가
  • 다음 electron : 전자 앱 이름을 전자 앱으로 설정하는 방법은 무엇입니까?