如何在.NET中更改xml中的样式表标记
我有没有办法更改xml中的样式表标记。有没有办法做到这一点。。。。 如果我收到如何在.NET中更改xml中的样式表标记,.net,xml,.net,Xml,我有没有办法更改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="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标记值已更改。最简单的方法是直接替换:
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);
看见