我正在尝试从程序中修改一个方法,使其成为 JAVA 6.3,但我收到以下错误“格式错误的 URL 异常”。
我正在使用这段代码。
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try{
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document=implementation.createDocument(null, "xml", null);
// Document document=implementation.;
Element raiz = document.createElement("Correos");// creamos el elemento raiz
Element elemento = document.createElement("Correo");//creamos un nuevo elemento
Text text = document.createTextNode("pepito@email.com");//Ingresamos la info
document.setXmlVersion("1.0");// asignamos la version de nuestro XML
document.getDocumentElement().appendChild(raiz); //pegamos la raiz al documento
raiz.appendChild(elemento); //pegamos el elemento hijo a la raiz
elemento.appendChild(text); //
Source source = new DOMSource(document);
String datos="";
Result console= new StreamResult(System.out);
Result result = new StreamResult(new java.io.File("resultado.xml"));//nombre del archivo
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
transformer.transform(source, console);
//transformer.t
// DocumentBuilder db = new DocumentBuilder();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
//db.parse(datos) ;
String xmlX =("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<xml>\n<Correos>\n<Correo>pepito@email.com</Correo>\n</Correos>\n</xml>");
db.parse(xmlX);
//document;
}catch(Exception e){
System.err.println("Error:" +e);
}
正如您在第 31 行看到的那样,我正在“连接”发送字符串的 XML。
我正在使用的 XML 我已经在几个 Web 导航器上对其进行了测试,而且我从来没有遇到像在 JAVA 中那样的错误。
基本上我需要的是创建一个“文档”变量,因为这是我需要修改的方法返回的变量类型。
在原始方法中,而不是在上层代码中,该代码(上层代码)是我用来调试更大代码的另一个项目,是一个返回“文档”的方法。
这是我需要修改的原始代码。(以下代码在try catch内)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream input = HTMLTools.inputStream_GET(url, timeoutMS);
InputStreamReader reader = new InputStreamReader(input, ENCODING_UTF8);
InputSource inSrc = new InputSource(reader);
inSrc.setEncoding(ENCODING_UTF8);
return db.parse(inSrc);
我不太了解 db 变量的方法解析的目的。
我也想也许我不需要 db 变量,因为我已经从上面的代码中获得了一个变量类型“ Document ”。
我已经阅读了 JavaDoc,但我不知道这些代码是如何工作的,基本上是 XML 部分。
所以基本上我认为我变得一团糟,谁能澄清我做错了什么?
谢谢。:-)