verwendetes Datenbanksystem: <XML>
Guten Tag,
Ich hab ein Problem und zwar möchte ich aus folgendem XML
<?xml version="1.0" encoding="UTF-8"?>
<?xfa generator="XFA2_4" APIVersion="2.8.8118.0"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" timeStamp="2011-09-26T09:12:36Z" uuid="53d32999-07b7-467e-9872-2aae02e337fb">
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data>
<FuJForm>
<Data>
<IssuerInfo>
<ReceiverUrl>http://localhost/sites/gk/default.aspx</ReceiverUrl>
<ReceiverList>http://localhost/sites/gk/1</ReceiverList>
<ReceiverContentType>MyContentTypeSonderfänge</ReceiverContentType>
<ReceiverAdditionalInfo />
</IssuerInfo>
<FormData>
<fujDateOfReceipt>2011-09-30</fujDateOfReceipt>
<Title>b9</Title>
<fujPrename>asdf</fujPrename>
<fujLastName>asdfasdf</fujLastName>
<fujAddress>wasdf</fujAddress>
<fujZip>123.00000000</fujZip>
<fujCity>asdf</fujCity>
<fujStatement>asdf</fujStatement>
</FormData>
</Data>
</FuJForm>
</xfa:data>
</xfa:datasets>
der ganze Inhalt von <FormData> auslesen. Mit XPath bringe ich es aber irgendwie nicht zustande. Hab auf http://xpath.online-toolz.com/tools/xpath-editor.php schon alles versucht um eine XPath Expression hinzukriegen die mir genau dies zurückliefert aber leider ohne Erfolg. Kann mir da jemand helfen?
doc.LoadXml(content);
XmlElement root = doc.DocumentElement;
XmlNode fj = root.SelectSingleNode("/FuJForm");
Versuche mal
doc.LoadXml(content);
XmlElement root = doc.DocumentElement;
XmlNode fj = root.SelectSingleNode("//FormData");
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Hallo Grumbler,
Vielen Dank, der erste Teil funktioniert so mit zwei //.
Mein ganzes Xml (Request) sieht so aus
<?xml version="1.0" encoding="UTF-8"?>
<?xfa generator="XFA2_4" APIVersion="2.8.8118.0"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" timeStamp="2011-09-26T09:12:36Z" uuid="53d32999-07b7-467e-9872-2aae02e337fb">
<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data>
<FuJForm>
<Data>
<IssuerInfo>
<ReceiverUrl>http://localhost/sites/gk/default.aspx</ReceiverUrl>
<ReceiverList>http://localhostsites/gk/Fischerei</ReceiverList>
<ReceiverContentType>MyContentType</ReceiverContentType>
<ReceiverAdditionalInfo />
</IssuerInfo>
<FormData>
<fujDateOfReceipt>2011-09-30</fujDateOfReceipt>
<Title>b9</Title>
<fujPrename>asdf</fujPrename>
<fujLastName>asdfasdf</fujLastName>
</FormData>
</Data>
</FuJForm>
</xfa:data>
</xfa:datasets>
<pdf xmlns="http://ns.adobe.com/xdp/pdf/">
<document>
<?KeepOnDisk?>
<chunk>JVBERi0xLjcNJeLjz9MNCjc1IDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDE2MjM5MS9PIDgwL0Ug
ODExNjkvTiAxL1QgMTYyMDM4L0ggWyA1MTMgMjE1XT4+DWVuZG9iag0gICAgICAgICAgICAgICAg
DQo5MCAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0b3IgMTI+Pi9GaWx0
ZXIvRmxhdGVEZWNvZGUvSURbPENGNTVBMjNFQzJBQzVGNERCNUQzMzg1N0E5MTVDNUUzPjw3Mzgy
QTlEQjU2NjcwRDQzOUE2Qjg1QTlGMjhFM0JBNT5dL0luZGV4Wzc1IDQ3XS9JbmZvIDc0IDAgUi9M
ZW5ndGggODYvUHJldiAxNjIwMzkvUm9vdCA3NiAwIFIvU2l6ZSAxMjIvVHlwZS9YUmVmL1dbMSAz
IDFdPj5zdHJlYW0NCmjeYmJkYBBgYGJgYDoBIhk3gNn3wOwoEMmyB8x+CRY/ACQZmZ+C2AxfwCKc
YPZREMnHD1b/E8yOAJL/z3kwMAHNfwRWw8A4ZMj/DEyrHwMEGAAadA9jDQplbmRzdHJlYW0NZW5k
b2JqDXN0YXJ0eHJlZg0KMA0KJSVFT0YNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0K
MTIxIDAgb2JqDTw8L0MgMTE5L0ZpbHRlci9GbGF0ZURlY29kZS9JIDE0NC9MZW5ndGggMTIyL1Mg
NDAvViA5ND4+c3RyZWFtDQpo3mJgYOBlYGDayMDAwGjZyYAKmIGYhYHjAENHB5IoLxQzMBxlEGTo
</chunk>
</document>
</pdf>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"><annots /></xfdf>
</xdp:xdp>
Für den Teil FuJForm funktioniert das so mit zwei //, für den Teil chunk aber nicht.
Ich müsste jetzt noch den chunk auslesen könne. Ist das überhaupt möglich in dieser konstellation?
Gruss und Vielen Dank
Mal so als hinweis zu xpath:
/ = root (also oberste Element-Ebene)
// = suche überall
/*/ = eine Ebene tiefer als Root
/Name = Ein bestimmtes Element
für den Chunk wäre also der "schnellste" Pfad sowas:
/xdp:xdp/pdf/document/chunk
Was mir allerdings ein Rätsel ist:
<?KeepOnDisk?>
Ich kann dir nicht sagen, wie sich (und ob) das auf nachfolgende Elemente auswirkt...
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
[...] für den Chunk wäre also der "schnellste" Pfad sowas:
/xdp:xdp/pdf/document/chunk
[...]
Müsste hier der Namespace nicht noch Berücksichtigung finden?