Osc*_*car 4 .net c# java xml xmldocument
在.NETC#中,当尝试加载stringinto时xml,需要使用XmlDocumenttype from System.Xml并执行以下操作:
例如:
string xmlStr = "<name>Oscar</name>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlStr);
Console.Write(doc.OuterXml);
Run Code Online (Sandbox Code Playgroud)
这看起来很简单,但我该怎么办Java呢?是否可以加载string到xml直接使用的东西,简短的像上面,避免执行这个其他方法?
提前致谢.
试试这个:
DocumentBuilderFactory documentBuildFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder doccumentBuilder = documentBuildFactory.newDocumentBuilder();
Document document =
doccumentBuilder.parse(new ByteArrayInputStream("<name>Oscar</name>".getBytes()));
Run Code Online (Sandbox Code Playgroud)
你可以遍历Oscar:
String nodeText = document.getChildNodes().item(0).getTextContent() ;
System.out.println(nodeText);
Run Code Online (Sandbox Code Playgroud)
转换回来:
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource domSource = new DOMSource(document);
//to print the string in sysout, System.out
StreamResult streamResult = new StreamResult(System.out);
transformer.transform(domSource, streamResult );
Run Code Online (Sandbox Code Playgroud)
要在String中获得结果:
DOMSource source = new DOMSource(document);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
StreamResult result = new StreamResult(outStream);
transformer.transform(source, result);
String resultString = new String( outStream.toByteArray());
System.out.println(resultString);
Run Code Online (Sandbox Code Playgroud)