Hallo an Alle,
nachdem ich nun "Prof. Google" genervt und X-Foren durchwühlt habe muss ich euch doch mit meinem Problem belästigen. Ich denke mal das vielen diese Frage direkt bekannt vorkommen wird, jedoch waren sämmtliche Internethilfen, die ich bisher gefunden habe für mein Problem nicht der Stein der weisen.
Ich habe folgenden JavaCode von IBM "geklaut" und lediglich den XPath-Ausdruck und den Dateipfad angepasst.
In meiner XML-Datei kommen definitiv!!!! mehrere ItemRef Elemente vor. Der Ausdruck "//*" selektiert mir auch wirklich ALLE Knoten in XML. Nur sobald ich das ganze einschränken möchte, bekomme ich IMMER eine leere Nodelist zurück.
Auszug aus der XML-Datei:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<ODM FileOID="ODM.1278323463921" Description=“BLA" FileType="Snapshot" Granularity="All" CreationDateTime="2010-08-02T11:33:39+02:00" ODMVersion="1.3" Originator="Formedix" SourceSystem="Origin Study Modeller" SourceSystemVersion="2.7.0" xmlns="http://www.cdisc.org/ns/odm/v1.3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cdisc.org/ns/odm/v1.3
http://www.cdisc.org/models/odm/v1.3/ODM1-3-0Rev.xsd">
<Study OID="S.0123">
<GlobalVariables>
<StudyName>Testfile</StudyName>
<StudyDescription>Testfile zum testen</StudyDescription>
<ProtocolName>Protokoll Testfile</ProtocolName>
</GlobalVariables>
......
<ItemGroupDef OID="IG.0001" Name="Arterielle Hypertonie" Repeating="No">
<Description>
<TranslatedText xml:lang="en">Arterial hypertension</TranslatedText>
</Description>
<ItemRef ItemOID="I.0032" Mandatory="Yes" OrderNumber="1"/>
<ItemRef ItemOID="I.0002" Mandatory="Yes" OrderNumber="2"/>
<ItemRef ItemOID="I.0003" Mandatory="Yes" OrderNumber="3"/>
</ItemGroupDef>
<ItemGroupDef OID="IG.0002" Name="Regelmäßig Sport" Repeating="No">
<ItemRef ItemOID="I.0005" Mandatory="Yes" OrderNumber="1"/>
<ItemRef ItemOID="I.0006" Mandatory="Yes" OrderNumber="2"/>
<ItemRef ItemOID="I.0008" Mandatory="Yes" OrderNumber="3"/>
</ItemGroupDef>
.......
[/XML]
Ich hoffe ihr könnt mir helfen. Bin seit mehr als einer Woche an diesem Problem dran.
Grüße
MI-Stud
PS: Ist mein erster Eintrag hier im Forum, daher sorry wenn etwas mit der Formatierung nicht ganz hinhauen sollte
nachdem ich nun "Prof. Google" genervt und X-Foren durchwühlt habe muss ich euch doch mit meinem Problem belästigen. Ich denke mal das vielen diese Frage direkt bekannt vorkommen wird, jedoch waren sämmtliche Internethilfen, die ich bisher gefunden habe für mein Problem nicht der Stein der weisen.
Ich habe folgenden JavaCode von IBM "geklaut" und lediglich den XPath-Ausdruck und den Dateipfad angepasst.
Java:
/*
* IBM CODE
*/
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true); // never forget this!
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("c:/test/meineXML.xml");
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
try
{
XPathExpression expr = xpath.compile("//ItemRef");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
System.out.println(nodes.getLength());
}
catch(XPathException e)
{
System.out.println(e.getMessage());
}
In meiner XML-Datei kommen definitiv!!!! mehrere ItemRef Elemente vor. Der Ausdruck "//*" selektiert mir auch wirklich ALLE Knoten in XML. Nur sobald ich das ganze einschränken möchte, bekomme ich IMMER eine leere Nodelist zurück.
Auszug aus der XML-Datei:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<ODM FileOID="ODM.1278323463921" Description=“BLA" FileType="Snapshot" Granularity="All" CreationDateTime="2010-08-02T11:33:39+02:00" ODMVersion="1.3" Originator="Formedix" SourceSystem="Origin Study Modeller" SourceSystemVersion="2.7.0" xmlns="http://www.cdisc.org/ns/odm/v1.3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cdisc.org/ns/odm/v1.3
http://www.cdisc.org/models/odm/v1.3/ODM1-3-0Rev.xsd">
<Study OID="S.0123">
<GlobalVariables>
<StudyName>Testfile</StudyName>
<StudyDescription>Testfile zum testen</StudyDescription>
<ProtocolName>Protokoll Testfile</ProtocolName>
</GlobalVariables>
......
<ItemGroupDef OID="IG.0001" Name="Arterielle Hypertonie" Repeating="No">
<Description>
<TranslatedText xml:lang="en">Arterial hypertension</TranslatedText>
</Description>
<ItemRef ItemOID="I.0032" Mandatory="Yes" OrderNumber="1"/>
<ItemRef ItemOID="I.0002" Mandatory="Yes" OrderNumber="2"/>
<ItemRef ItemOID="I.0003" Mandatory="Yes" OrderNumber="3"/>
</ItemGroupDef>
<ItemGroupDef OID="IG.0002" Name="Regelmäßig Sport" Repeating="No">
<ItemRef ItemOID="I.0005" Mandatory="Yes" OrderNumber="1"/>
<ItemRef ItemOID="I.0006" Mandatory="Yes" OrderNumber="2"/>
<ItemRef ItemOID="I.0008" Mandatory="Yes" OrderNumber="3"/>
</ItemGroupDef>
.......
[/XML]
Ich hoffe ihr könnt mir helfen. Bin seit mehr als einer Woche an diesem Problem dran.
Grüße
MI-Stud
PS: Ist mein erster Eintrag hier im Forum, daher sorry wenn etwas mit der Formatierung nicht ganz hinhauen sollte