我正在使用dom4j解析一个xml文档,如下所示
SAXReader reader = new SAXReader();
document = reader.read("C:/test.xml");
但是当我写下xml时,它不会保留那些名称空间
FileOutputStream fos = new FileOutputStream("c:/test.xml");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(fos, format);
writer.write(document);
writer.flush();
如何使用dom4j执行此操作。由于代码容易,我正在使用dom4j。
答案 0 :(得分:0)
不同意。这个片段
System.out.println(new SAXReader()
.read(new ByteArrayInputStream("<a:c xmlns:a='foo'/>"
.getBytes(Charset.forName("utf-8")))).getRootElement()
.getNamespaceURI());
将打印
foo
您的问题是SAXReader#read(String)
方法采用System ID
参数,而不是文件名。相反,请尝试为读者提供File
,InputStream
或URL
。
reader.read(new File("C:/test.xml"))