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

时间:2011-02-19 10:01:13

标签: java xml parsing dom

我正在读取现有的XML文件并将其输出(使用DOM)。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test"?>
<Books>
    <Book name="MyBook" />
</Books>

但是如何修改XML样式表呢? - &GT; href在这里设置“test”。

2 个答案:

答案 0 :(得分:4)

这样的事情应该有效(未经测试)

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'");

答案 1 :(得分:0)

这有点棘手,但为什么不首先将文件读入String并在通过流将其发送到dom解析器之前进行替换。