Ich versuche, Informationen aus mehreren XML-Dateien zu sammeln und diese Informationen in einer einzigartigen XML-Datei mit XsltXSLT: Sammeln und Zusammenführen von Informationen aus mehreren Dateien
Hier ist meine ursprüngliche XML-Datei zusammenführen:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<object>
<class>Class1</class>
<attribute name="name" value="object1"/>
<attribute name="id" value="1"/>
</object>
<object>
<class>Class1</class>
<attribute name="name" value="object2"/>
<attribute name="id" value="2"/>
</object>
<object>
<class>Class2</class>
<attribute name="name" value="object3"/>
<attribute name="id" value="3"/>
</object>
</objects>
ich habe eine zweite xML-Datei (res.xml) bekam:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<lang id="1">localizedObject1</lang>
</resources>
ich eine dritte xML-Datei haben (res2.xml):
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<lang id="1">localizedObjectDesc1</lang>
</resources>
Dies ist das Ergebnis, das ich erhalten möchte:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<object>
<class>Class1</class>
<attribute name="name" value="object1"/>
<attribute name="id" value="1"/>
<attribute name="localizedValue" value="localizedObject1"/>
<attribute name="localizedDescription" value="localizedObjectDesc1"/>
</object>
<object>
<class>Class1</class>
<attribute name="name" value="object2"/>
<attribute name="id" value="2"/>
</object>
<object>
<class>Class2</class>
<attribute name="name" value="object3"/>
<attribute name="id" value="3"/>
</object>
</objects>
Für alle Objekte, bei denen class = Class1 und id in res.xml ist => fügen Sie ein Attribut (localizedValue). Wenn ID ist in res2.xml => ein Attribut hinzufügen localizedDescription Für alle anderen Objekte => kopieren Sie einfach den Knoten
Vielen Dank für Ihre Hilfe.
Danke für die Antwort! Beide Antworten (deine und Martins) haben mir geholfen, mein Problem zu lösen. Aber ich blieb bei Ihnen, da ich weniger Pflege beim Hinzufügen neuer Dateien und Verhaltensweisen hatte. – FVi