【发布时间】:2011-06-30 07:45:33
【问题描述】:
我正在读取一个现有的 XML 文件并将其输出(使用 DOM)。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test"?>
<Books>
<Book name="MyBook" />
</Books>
但是如何修改 XML 样式表呢? -> href 这里设置“测试”。
【问题讨论】:
我正在读取一个现有的 XML 文件并将其输出(使用 DOM)。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test"?>
<Books>
<Book name="MyBook" />
</Books>
但是如何修改 XML 样式表呢? -> href 这里设置“测试”。
【问题讨论】:
这样的东西应该可以工作(未经测试)
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'");
【讨论】:
这有点棘手,但为什么不先将文件读入字符串并在通过流将其发送到 dom 解析器之前进行替换。
【讨论】: