Create Document in Java!
Hej!Jag har stora problem med Document i XML.
Grejen är att jag har en XML-struktur med lite data i en String. Denna XML-struktur ska användas som standalone, utan DTD. Men jag är tyvärr så sopig på detta så jag får inte till det riktigt.
När jag kör nedanstående program så får jag detta memo:
file:/D:/JavaLabb/test: 1, 106: Element, "message_id_send" is not declared in th
e DTD
Press any key to continue . . .
Parsern verkar ju kräva en DTD. Så nu är frågan om du vet om det går att säga åt Parsern på
något mer tydligt sätt att XML-strukturen ska vara standalone än i själva XML-headern.
En variant är kanske att på något sätt trycka in XML-strängen direkt i Documentobjektet
men jag har ingen aning om hur man gör det?
Så all hjälp är väldigt välkommen.
Jättetack på förhand
Fredrik
PS länken till online-api:et är:
http://www-3.ibm.com/software/webservers/appserv/doc/v35/ae/apidocs/index.html
Jag kan inte heller byta XML-api pga stort projekt med många delar som använder detta.
import java.util.*;
import java.text.*;
import com.ibm.xml.parsers.*;
import com.ibm.xml.parser.*;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
import java.io.*;
public class XmlTester
{
public XmlTester()
{
StringBuffer xmlString = new StringBuffer();
xmlString.append("<?xml version=\"1.0\" standalone=\"yes\" ?>");
xmlString.append("<product_villa>");
xmlString.append("<header>");
xmlString.append("<message_id_send>511114351</message_id_send>");
xmlString.append("<message_id_get>511114351</message_id_get>");
xmlString.append("<userid>hejhopp</userid>");
xmlString.append("<password>45984125</password>");
xmlString.append("<error_number>0</error_number>");
xmlString.append("<error_message>a</error_message>");
xmlString.append("<info_text>b</info_text>");
xmlString.append("<method value=\"SimUpdate\"/>");
xmlString.append("</header>");
xmlString.append("</product_villa>");
//System.out.println(xmlString);
StringReader sr = new StringReader(xmlString.toString());
Parser parser = new Parser("test");
Document document = parser.readStream(sr);
}
public static void main(String args[])
{
XmlTester xmlTester = new XmlTester();
}
}
