2011-01-14 2 views
2

Gibt es eine Möglichkeit für mich, das Stylesheet-Tag in einem XML-Code zu ändern. Gibt es eine Möglichkeit, das zu tun .... ab, wenn ichSo ändern Sie das Stylesheet-Tag in einem XML-Code in .NET

<?xml version="1.0" encoding="us-ascii"?> 
<?xml-stylesheet type="text/xsl" href="www.somecompany.com/stylesheet.xsl"?> 
<MedicalRecord> 
...... 
...... 
</MedicalRecord> 

erhalten will ich es machen

<?xml version="1.0" encoding="us-ascii"?> 
<?xml-stylesheet type="text/xsl" href="mystylesheet.xsl"?> 
<MedicalRecord> 
...... 
...... 
</MedicalRecord> 

Notiere die href-Tag-Wert geändert hat.

+0

Siehe http://stackoverflow.com/questions/2424613/xml-changing-the-value-of-an-attribute – bluish

Antwort

2

An es am einfachsten, auf eine gerade basiert ersetzen:

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); 
+0

DUH !!! ersetzen ... warum habe ich nicht daran gedacht! – superartsy

Verwandte Themen