Hallo alle miteinander,
ich habe folgendes Problem:
Ich würde gerne Inhalte aus *.xsd Dateien ermitteln.
Beispiel xsd Datei: (Datei muss nicht auf Korrektheit überprüft werden)
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| xml version="1.0"?><xs:schema xmlns:aqadm="http://xyz/aqadm" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xdb="http://xmlns.oracle.com/xdb" targetNamespace="http://xyz/aqadm" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://xmlns.oracle.com/xdb http://xmlns.oracle.com/xdb/XDBSchema.xsd" xdb:schemaURL="http://xyz/aqadm/SREPORT_TEMPLATE_XT.xsd"> <xs:include schemaLocation="http://xyz/aqadm/EXTERNAL_BINARY.xsd"/> <xs:element name="SREPORT_TEMPLATE_XT" type="aqadm:SREPORT_TEMPLATE_XTType" xdb:SQLType="SREPORT_TEMPLATE_XT"/> <xs:complexType name="SREPORT_TEMPLATE_XTType" xdb:SQLType="SREPORT_TEMPLATE_XT"> <xs:sequence> <xs:element name="SRPTT_ID" type="xs:hexBinary" xdb:SQLName="SRPTT_ID" xdb:SQLType="RAW"/> <xs:element name="SRPTTK_ID" type="xs:hexBinary" xdb:SQLName="SRPTTK_ID" xdb:SQLType="RAW"/> <xs:element name="SRPTT_REV_NO" type="xs:integer" xdb:SQLName="SRPTT_REV_NO" xdb:SQLType="INTEGER"/> <xs:element name="SRPTT_TYPE" type="xs:integer" xdb:SQLName="SRPTT_TYPE" xdb:SQLType="INTEGER"/> <xs:element name="SRPTT_SCHEMA" type="aqadm:EXTERNAL_BINARY" xdb:SQLName="SRPTT_SCHEMA" xdb:SQLType="BLOB"/> <xs:element name="SRPTT_EXAMPLE_XML" type="aqadm:EXTERNAL_BINARY" minOccurs="0" xdb:SQLName="SRPTT_EXAMPLE_XML" xdb:SQLType="BLOB"/> <xs:element name="SRPTT_VALID_FROM" type="xs:dateTime" xdb:SQLName="SRPTT_VALID_FROM" xdb:SQLType="TIMESTAMP"/> <xs:element name="SRPTTP_ID" type="xs:hexBinary" minOccurs="0" xdb:SQLName="SRPTTP_ID" xdb:SQLType="RAW"/> <xs:element name="SRPTT_GENDATE" type="xs:dateTime" minOccurs="0" xdb:SQLName="SRPTT_GENDATE" xdb:SQLType="TIMESTAMP"/> <xs:element name="SRPTT_GENUSER" type="xs:hexBinary" minOccurs="0" xdb:SQLName="SRPTT_GENUSER" xdb:SQLType="RAW"/> <xs:element name="SRPTT_MODDATE" type="xs:dateTime" minOccurs="0" xdb:SQLName="SRPTT_MODDATE" xdb:SQLType="TIMESTAMP"/> <xs:element name="SRPTT_MODUSER" type="xs:hexBinary" minOccurs="0" xdb:SQLName="SRPTT_MODUSER" xdb:SQLType="RAW"/> <xs:element name="SRPTT_MODPROCDATE" type="xs:dateTime" minOccurs="0" xdb:SQLName="SRPTT_MODPROCDATE" xdb:SQLType="TIMESTAMP"/> <xs:element name="SRPTT_MODPROCUSER" type="xs:hexBinary" minOccurs="0" xdb:SQLName="SRPTT_MODPROCUSER" xdb:SQLType="RAW"/> <xs:element name="SLAN_ID" type="xs:hexBinary" minOccurs="0" xdb:SQLName="SLAN_ID" xdb:SQLType="RAW"/> <xs:element name="SRPTT_FILENAME" type="xs:string" xdb:SQLName="SRPTT_FILENAME" xdb:SQLType="VARCHAR2"/> <xs:element name="SRPTT_TEMPLATE" type="aqadm:EXTERNAL_BINARY" minOccurs="0" xdb:SQLName="SRPTT_TEMPLATE" xdb:SQLType="BLOB"/> </xs:sequence> </xs:complexType> </xs:schema> |
Ich würde nun gerne die xdb:schemaURL herauslesen und alle <xs:include Elemente ermitteln.
Ich habe versucht die xdb Datei wie eine xml Datei zu verarbeiten (XmlReader). Die Knoten konnte ich ermitteln die einzelnenn Attribute wie z.B. xdb:schemaURL leider nicht.
Kann mir vielleicht jemand noch einen Lösungsansatz zukommen lassen.
Vielen Dank im Voraus.
Matze
P.S. Bin leider noch C Sharp Anfänger
Moderiert von
Kha: XML-Tags hinzugefügtModeriert von
Kha: Topic aus Multimedia / Grafik verschoben am Mi 16.02.2011 um 10:10