検索
ホームページバックエンド開発XML/RSS チュートリアルxsd を使用して XML を検証するコード共有の詳細な紹介

XML Schema

言語もXSDです。
XML スキーマ
は、XML ドキュメントの構造を記述します。特定の XML ドキュメントを、指定された XML スキーマ に対して検証して、XML
ドキュメントがその要件を満たしているかどうかを確認できます。 ドキュメント設計者は、XML スキーマ を通じて XML ドキュメントで許可される構造とコンテンツを指定でき、これに基づいて XML ドキュメントが有効かどうかを確認できます。 XML Schema自体は、
XML構文構造に準拠するXMLドキュメントです。 ユニバーサル XML パーサーで解析できます。 XML スキーマ は、ドキュメントに表示される要素、ドキュメントに表示される属性、サブ要素、サブ要素の数、サブ要素の順序、要素は空であり、要素と属性のデータ型、要素、またはプロパティのデフォルト値と固定値です。

XSDファイルの拡張子は.xsdです。

以下のコード例では、上記のスキーマが XmlReaderSettings オブジェクトの XmlSchemaSetSchemas プロパティに追加されます。 XmlReaderSettings オブジェクトは、上記の XML ドキュメントを検証する XmlReader オブジェクトの Create メソッドにパラメーターとして渡されます。

XmlReaderSettings オブジェクトの ValidationType プロパティは Schema に設定され、 XmlReader オブジェクトの Create メソッドを通じて XML ドキュメントの検証が強制されます。 ValidationEventHandler に追加します
これが例です:

using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
using System.Xml.Serialization;
using System.Text;

public class XmlSchemaSetExample
{
    static void Main()
    {

        XmlReaderSettings booksSettings = new XmlReaderSettings();
        booksSettings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
        booksSettings.ValidationType = ValidationType.Schema;
        booksSettings.ValidationEventHandler += new ValidationEventHandler(booksSettingsValidationEventHandler);

        MemoryStream ms = new MemoryStream();//定义一个数据流对象

        XmlDocument doc = new XmlDocument();

        doc.Load("contosoBooks.xml");

        doc.Save(ms);

        ms.Position = 0; //修改指针的位置

        XmlReader books = XmlReader.Create(ms,booksSettings);


        while (books.Read())
        {  }
     }

    static void booksSettingsValidationEventHandler(object sender, ValidationEventArgs e)
    {
        if (e.Severity == XmlSeverityType.Warning)
        {
            Console.Write("WARNING: ");
            Console.WriteLine(e.Message);
            Console.Read();
            
        }
        else if (e.Severity == XmlSeverityType.Error)
        {
            Console.Write("ERROR: ");
            Console.WriteLine(e.Message);
            Console.Read();
        }
    }
}
contosoBooks.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attribute
For
mDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2
001
/XMLSchema">
  <xs:element name="bookstore">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="book">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="title" type="xs:=string" />
              <xs:element name="author">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" name="name" type="xs:string" />
                    <xs:element minOccurs="0" name="first-name" type="xs:string" />
                    <xs:element minOccurs="0" name="last-name" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="price" type="xs:decimal" />
            </xs:sequence>
            <xs:attribute name="genre" type="xs:string" use="required" />
            <xs:attribute name="publicationdate" type="xs:date" use="required" />
            <xs:attribute name="ISBN" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

contosoBooks.xml

<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
  <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>


備考: Xsd の他のクラスまたはインスタンスについて

StreamWriter、StreamReader、XmlSchema
XmlSchemaSet
ストリーム ストリーム = 新しい MemoryStream (); //クラスのオブジェクトを初期化できない場合は、その inherited
クラスの使用を検討できます。

FileStream fs = File.Open("117.xml",FileMode.OpenOrCreate,FileAccess.ReadWrite); TextReader tr1=new StreamReader("123.xml");

TextReader tr2= 新しいStringReader("asdfsadfsdf");

以上がxsd を使用して XML を検証するコード共有の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
RSSにおけるXMLの役割:シンジケートコンテンツの基礎RSSにおけるXMLの役割:シンジケートコンテンツの基礎Apr 12, 2025 am 12:17 AM

RSSにおけるXMLの中心的な役割は、標準化された柔軟なデータ形式を提供することです。 1. XMLの構造とマークアップ言語の特性により、データ交換とストレージに適しています。 2。RSSはXMLを使用して標準化された形式を作成して、コンテンツの共有を容易にします。 3. RSSでのXMLの適用には、タイトルやリリース日などのフィードコンテンツを定義する要素が含まれます。 4.利点には標準化とスケーラビリティが含まれ、課題にはドキュメントの冗長および厳密な構文要件が含まれます。 5.ベストプラクティスには、XMLの有効性の検証、シンプルな状態を維持し、CDATAの使用、定期的に更新されます。

XMLから読み取り可能なコンテンツまで:RSSフィードを分類しますXMLから読み取り可能なコンテンツまで:RSSフィードを分類しますApr 11, 2025 am 12:03 AM

rssfeedsarexmldocumentsusedforcontentaggregationanddistribution.totransformthemintoreadablecontent:1)parsethexmlusinglibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibraries.2)heandlederentrssiversions andpotentialparsingerrors.3)変換された拡張型拡張型のfienderidederidrederidederidederidedionderiondiontiontiontiontiontiontiontiontional

JSONに基づいたRSSの代替品はありますか?JSONに基づいたRSSの代替品はありますか?Apr 10, 2025 am 09:31 AM

JSonFeedは、JSONベースのRSSの代替品であり、その利点のシンプルさと使いやすさがあります。 1)JSonFeedはJSON形式を使用しますが、これは簡単に生成して解析できます。 2)動的生成をサポートし、最新のWeb開発に適しています。 3)JSonFeedを使用すると、コンテンツ管理の効率とユーザーエクスペリエンスが向上する可能性があります。

RSSドキュメントツール:フィードの構築、検証、公開RSSドキュメントツール:フィードの構築、検証、公開Apr 09, 2025 am 12:10 AM

RSSFeedsを構築、検証、公開する方法は? 1。ビルド:Pythonスクリプトを使用して、タイトル、リンク、説明、リリース日など、RSSFeedを生成します。 2。検証:FeedValidator.orgまたはPythonスクリプトを使用して、RSSFeedがRSS2.0標準に準拠しているかどうかを確認します。 3.公開:RSSファイルをサーバーにアップロードするか、フラスコを使用してRSSFeedを動的に生成および公開します。これらの手順を通じて、コンテンツを効果的に管理および共有できます。

XML/RSSフィードのセキュリティ:包括的なセキュリティチェックリストXML/RSSフィードのセキュリティ:包括的なセキュリティチェックリストApr 08, 2025 am 12:06 AM

XML/RSSFeedsのセキュリティを確保する方法には、次のものが含まれます。1。データ検証、2。暗号化された伝送、3。アクセス制御、4。ログと監視。これらの測定値は、ネットワークセキュリティプロトコル、データ暗号化アルゴリズム、アクセス制御メカニズムを介して、データの整合性と機密性を保護します。

XML/RSSインタビューの質問と回答:専門知識をレベルアップしますXML/RSSインタビューの質問と回答:専門知識をレベルアップしますApr 07, 2025 am 12:19 AM

XMLはデータの保存と転送に使用されるマークアップ言語であり、RSSは頻繁に更新されるコンテンツを公開するために使用されるXMLベースの形式です。 1)XMLはタグと属性を介してデータ構造を記述します。2)RSSは特定のタグの公開と購読コンテンツを定義します。3)XMLは、PythonのXML.ETREE.ELEMENTTREEモジュールを使用して作成および解析できます。 XMLLINT、7)SAXパーサーで大規模なXMLファイルを処理することで検証できます。パフォーマンスを最適化できます。

高度なXML/RSSチュートリアル:次の技術インタビューを促進します高度なXML/RSSチュートリアル:次の技術インタビューを促進しますApr 06, 2025 am 12:12 AM

XMLはデータストレージと交換用のマークアップ言語であり、RSSは更新されたコンテンツを公開するためのXMLベースの形式です。 1。XMLは、データ交換とストレージに適したデータ構造を定義します。 2.RSSはコンテンツサブスクリプションに使用され、解析時に特別なライブラリを使用します。 3. XMLを解析するときは、DOMまたはSAXを使用できます。 XMLおよびRSSを生成する場合、要素と属性を正しく設定する必要があります。

XML/RSSからJSONまで:最新のデータ変換戦略XML/RSSからJSONまで:最新のデータ変換戦略Apr 05, 2025 am 12:08 AM

Pythonを使用して、XML/RSSからJSONに変換します。 1)解析データ、2)フィールドを抽出する、3)JSONに変換、4)出力JSON。 XML.Etree.ElementTreeおよびFeedParserライブラリを使用してXML/RSSを解析し、JSONライブラリを使用してJSONデータを生成します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません