我有办法在xml中更改样式表标记吗?有没有办法做到这一点.... 如果我收到
<?xml version="1.0" encoding="us-ascii"?>
<?xml-stylesheet type="text/xsl" href="www.somecompany.com/stylesheet.xsl"?>
<MedicalRecord>
......
......
</MedicalRecord>
我想成功
<?xml version="1.0" encoding="us-ascii"?>
<?xml-stylesheet type="text/xsl" href="mystylesheet.xsl"?>
<MedicalRecord>
......
......
</MedicalRecord>
请注意,href标记值已更改。
答案 0 :(得分:2)
最简单的基于直接替换:
XmlDocument doc = new XmlDocument();
doc.Load("XMLFile1.xml");
XmlProcessingInstruction pi =
(XmlProcessingInstruction)
doc.SelectSingleNode("/processing-instruction('xml-stylesheet')");
// Replace href with the one we want
Regex r = new Regex("href=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|[>\"']))+.)[\"']?",
RegexOptions.IgnoreCase | RegexOptions.Singleline);
pi.Data = r.Replace(pi.Data, "href=\"mystyle.xsl\"", 1, 0);