プログラムのメソッドを変更して Java 6.3 にしようとすると、「Malformed URL Exception」というエラーが発生します。
私はこのコードを使用しています。
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 のようなエラーは発生しません。
基本的に必要なのは、「ドキュメント」変数を作成することです。これは、変更する必要があるメソッドによって返される変数のタイプであるためです。
上のコードではなく、元のメソッドでは、そのコード(上のコード)は、より大きなコードをデバッグするために使用している別のプロジェクトであり、「 Document 」を返すメソッドです。
変更する必要がある元のコードは次のとおりです (次のコードは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 変数のメソッド parse の目的がよくわかりません。
私も、上のコードから変数タイプ「 Document 」をすでに持っているので、おそらく db 変数は必要なかったと思います。
私はすでにJavaDocを読みましたが、このコードがどのように機能するか、基本的にXML部分がわかりません。
だから基本的に私は乱雑になっていると思います.誰かが私が間違っていることを明確にすることができますか?
ありがとう。:-)