Lesen von XML-Datei in XSLT verwendet wird, um die Konstruktion neuer XML

Möchte ich zum Lesen einer XML-Datei in XSLT und überprüfen Sie die Knoten. wenn Sie übereinstimmen, wird der Wert des XML-Knotens, zu dem ich mich Wende, der Transformation, dann schnappen Sie sich den Wert des XML-Knotens und es verwenden, um erstellen Sie eine neue XML-Struktur.

Hier ist ein Beispiel für mein problem. Ich denke, viele Menschen können diese Frage für den Verweis auf das erreichen ähnlicher Funktionalität.

Referenced.xml

<xml>
  <root>
    <Id id = "1">
      <fields>
        <field>
          <name> Name1 </name>
          <value> Val1 </value>
        </field>
        <field>
          <name> Name2 </name>
          <value> Val2 </value>
        </field>
      </fields> 
    </Id>
    <Id id = "2">
    ...
    </Id>
  </root>
</xml>

Xml.xml

<XML>
  <Fields>
   <Id id = "1">
    <F1> Value1 </F1>
    <F2> Value2 </F2>
    <F1> Value3 </F1>
    <F4> Value4 </F4>
 </Id>
  </Fields>
</XML>

Nun, ich möchte erstellen Sie eine Transformation, die iteriert über die XML-Datei (Referenced.xml) und überprüfen Sie, wo die Id innerhalb der xml-match-und dann, im inneren, dass id Name1 = F1 und wo ist es dann, holt den 'Wert' der 'name' und erstellen Sie eine XML-Struktur wie

<outputXml>
  <Field id="Val1">
    <val> Value1 </val>
  </Field>
  <Field id="Val2">
    <val> Value2 </val>
  </Field> ... and so on
</outputXml>

Ich weiß, ich habe zu verwenden Dokument(), aber ich bin nicht sicher, wie Sie Sie Durchlaufen die Referenced.xml innerhalb von xsl und verwenden, wenn sonst zur Erreichung der Funktionalität erforderlich ?

  • Ihre XML ungültig ist, <id = 1> ist nicht gültig. Bitte geben Sie gültige XML.
  • Hinzugefügt. Vergaß hinzuzufügen, Zitate. Überprüfen Sie erneut
  • Sorry, es ist noch fehlerhaft. Sie müssen geben Sie den Namen des Attributs, z.B. <ref id="1">
  • Sorry, ich noch einmal bearbeitet, um gültig zu sein.
  • Jemand gerade bearbeitet rückgängig gemacht meiner Veränderung. Wie u tun verhindern, dass hier ? Obwohl ich rückübertragen werden wieder gültig.
InformationsquelleAutor user2334314 | 2013-05-01
Schreibe einen Kommentar