ASP.Net/XML/Element attributes
Set XML Element attributes in code
<source lang="csharp">
<%@ Page Language="C#"%> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="System.Xml.Schema" %> <script runat="server">
private StringBuilder stringBuilder = new StringBuilder(); void Page_Load(object sender, EventArgs e) { string xmlPath = MapPath("Authors.xml"); string xsdPath = MapPath("Authors.xsd"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlPath); XmlElement authorElement = (XmlElement) xmlDoc.DocumentElement.SelectSingleNode("//authors/author[authorID="000-00-0001"]"); authorElement.SetAttribute("nfex", "nfex"); XmlNodeReader nodeReader = new XmlNodeReader(xmlDoc); XmlReader reader = null; XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationEventHandler += new ValidationEventHandler(this.ValidationEventHandler); settings.ValidationType = ValidationType.Schema; settings.Schemas.Add(null, XmlReader.Create(xsdPath)); reader = XmlReader.Create(nodeReader, settings); while (reader.Read()) { } if (stringBuilder.ToString() == String.Empty) Response.Write("Validation completed successfully."); else Response.Write("Validation Failed.
" + stringBuilder.ToString()); } void ValidationEventHandler(object sender, ValidationEventArgs args) { stringBuilder.Append("Validation error: " + args.Message + "
"); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>DOM Validation</title>
</head> <body>
<form id="form1" runat="server">
</form>
</body> </html>
<%-- File: Authors.xml <?xml version="1.0"?> <authors>
<author> <authorID>000-00-0001</authorID> <lastName>Nancy</lastName> <firstName>Lee</firstName> <phone>999 999-9999</phone> <address>9999 York St.</address> <city>Regina</city> <state>LA</state> <zip>99999</zip> <contract>true</contract> </author> <author> <authorID>000-00-0002</authorID> <lastName>First</lastName> <firstName>Last</firstName> <phone>415 986-7020</phone> <address>No Name St.</address> <city>Vancouver</city> <state>BC</state> <zip>88888</zip> <contract>true</contract> </author>
</authors> --%>
<%-- File: Authors.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="authors"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="author"> <xs:complexType> <xs:sequence> <xs:element name="authorID" type="xs:string" /> <xs:element name="lastName" type="xs:string" /> <xs:element name="firstName" type="xs:string" /> <xs:element name="phone" type="xs:string" /> <xs:element name="address" type="xs:string" /> <xs:element name="city" type="xs:string" /> <xs:element name="state" type="xs:string" /> <xs:element name="zip" type="xs:unsignedInt" /> <xs:element name="contract" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
</xs:schema> --%>
</source>