如何在.NET中的xml中更改样式表标记

时间:2011-01-14 16:55:30

标签: .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="mystylesheet.xsl"?>
<MedicalRecord>
......
......
</MedicalRecord>

请注意,href标记值已更改。

1 个答案:

答案 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);