C#xsdファイルを使用してXML形式が正しいかどうかを検証する方法
2530 ワード
この例では、xsdファイルを使用してXMLフォーマットが正しいかどうかを検証するC#の実装方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
PS:ここでは、より実用的なxml関連のオンラインツールをいくつか提供します.
オンラインXMLフォーマット/圧縮ツール:http://tools.jb51.net/code/xmlformat
オンラインXML/JSON相互変換ツール:http://tools.jb51.net/code/xmljson
XMLオンライン圧縮/フォーマットツール:http://tools.jb51.net/code/xml_format_compress
XMLコードオンラインフォーマット美化ツール:http://tools.jb51.net/code/xmlcodeformat
C#に関する詳細については、「C#中XMLファイル操作テクニック要約」、「C#よくあるコントロール使用方法チュートリアル」、「C#プログラム設計のスレッド使用テクニック総括」、「WinFormコントロール使用方法総括」、「C#データ構造とアルゴリズムチュートリアル」、「C#配列操作テクニック総括」および「C#オブジェクト向けプログラム設計入門チュートリアル」のトピックを参照してください.
本稿で述べたことが皆さんのC#プログラム設計に役立つことを願っています.
// xmlDocument
XmlDocument doc = new XmlDocument();
//
doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));
// KYTResults
XmlElement results = doc.CreateElement("KYTResults");
// ResultsStatus
XmlNode resultsStatus = doc.CreateElement("ResultsStatus");
// Level
XmlElement element = doc.CreateElement("Level");
element.InnerText = status ? "0" : "1";
resultsStatus.AppendChild(element);
// Description
element = doc.CreateElement("Description");
element.InnerText = msg;
resultsStatus.AppendChild(element);
// PassKey
element = doc.CreateElement("PassKey");
element.InnerText = key;
resultsStatus.AppendChild(element);
results.AppendChild(resultsStatus);
//END ResultsStatus
// DataList
if (status)
{
results.AppendChild(dataList);
}
//END KYTResults
doc.AppendChild(results);
string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");
// xml xsd
string error = "";
// XmlSchema
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", XmlReader.Create(path));
//
ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e) {
switch (e.Severity)
{
case XmlSeverityType.Error:
error += e.Message;
break;
case XmlSeverityType.Warning:
break;
}
});
doc.Schemas = schemas;
// xml
doc.Validate(eventHandler);
//
if (!"".Equals(error))
{
throw new Exception(error);
}
PS:ここでは、より実用的なxml関連のオンラインツールをいくつか提供します.
オンラインXMLフォーマット/圧縮ツール:http://tools.jb51.net/code/xmlformat
オンラインXML/JSON相互変換ツール:http://tools.jb51.net/code/xmljson
XMLオンライン圧縮/フォーマットツール:http://tools.jb51.net/code/xml_format_compress
XMLコードオンラインフォーマット美化ツール:http://tools.jb51.net/code/xmlcodeformat
C#に関する詳細については、「C#中XMLファイル操作テクニック要約」、「C#よくあるコントロール使用方法チュートリアル」、「C#プログラム設計のスレッド使用テクニック総括」、「WinFormコントロール使用方法総括」、「C#データ構造とアルゴリズムチュートリアル」、「C#配列操作テクニック総括」および「C#オブジェクト向けプログラム設計入門チュートリアル」のトピックを参照してください.
本稿で述べたことが皆さんのC#プログラム設計に役立つことを願っています.