在Java中修改现有的XML样式表处理指令

在Java中修改现有的XML样式表处理指令,java,xml,parsing,dom,Java,Xml,Parsing,Dom,我正在读取一个现有的XML文件并输出它(使用DOM) 但是如何修改XML样式表?->href此处设置“test”。这有点棘手,但是为什么不先将文件读入字符串,然后在通过流将其发送到dom解析器之前进行替换呢。类似的操作应该可以(未测试) OK可以关闭得到一个解决方案:)我解析并找到了xml样式表,并简单地用我自己的属性替换它XmlHandler:问题不是“关闭的”,你只需批准帮助你的答案(通过单击答案旁边的复选框)。 <?xml version="1.0" encoding="UTF-

我正在读取一个现有的XML文件并输出它(使用DOM)



但是如何修改XML样式表?->href此处设置“test”。

这有点棘手,但是为什么不先将文件读入字符串,然后在通过流将其发送到dom解析器之前进行替换呢。

类似的操作应该可以(未测试)


OK可以关闭得到一个解决方案:)我解析并找到了xml样式表,并简单地用我自己的属性替换它XmlHandler:问题不是“关闭的”,你只需批准帮助你的答案(通过单击答案旁边的复选框)。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test"?>
<Books>
    <Book name="MyBook" />
</Books>
Element root = doc.getDocumentElement();
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/processing-instruction('xml-stylesheet')";
ProcessingInstruction pi;
pi = (ProcessingInstruction)xpath.evaluate(expression, doc, XPathConstants.NODE);
pi.setData("type='text/xsl' href='foo.xsl'");