タグ

xmlとXMLに関するdelegateのブックマーク (26)

  • XSD による XML の検証 - C# 入門

    XML で何らかのデータの受け渡しをするわけですが、その XML 自体が正しいデータを運んでいることをチェックする必要があります。 これは XSD で簡単に実現できます。 この資料では XSD (XML Schema Definition. XML スキーマ定義) の簡単なクラッシュコースを含み、 それに従った XML であることを検証するプログラムをみてみましょう。 XSD の書き方・仕組み XML は何らかの形で使ったことがある人は多いと思いますので、まずは XML からスタートしましょう。 次のような XML があったとします。 <?xml version="1.0" encoding="utf-8" ?> <bookstore xmlns="urn:bookstore-schema"> <book genre="novel"> <title>The 7 Habits</title>

    XSD による XML の検証 - C# 入門
  • C# XmlSerializerの使い方 - け日記

    XMLでリクエスト/レスポンスするAPIへアクセスする機会がありましたので、XmlSerializerの使い方を備忘録にしておきます。 XMLをシリアライズ/デシリアライズする まずはC#オブジェクト(ここではBook)とXML形式の文字列でシリアライズ/デシリアライズさせる方法です。 Bookクラス用のXmlSerializer(System.Xml.Serialization名前空間)を定義して、Serializeメソッドでシリアライズできます。 publicのフィールドまたはプロパティがXML要素になりますが、XmlRootAttribute、XmlElementAttributeで要素名を指定しています これらの属性が無い場合は、フィールド名・プロパティ名がそのまま要素名になります XMLの繰り返し構造を定義することもでき、その場合はXmlArrayAttributeで親要素名、X

    C# XmlSerializerの使い方 - け日記
  • [C#]属性とテキストで構成されるXMLタグをデシリアライズする為のクラス設計 | Zero Configuration

    C#でXMLデータを扱う場合、XMLSerializerが便利です XMLのレイアウトに合わせてクラスを設計しておければ、XMLデータをクラスにデシリアライズしてくれるからです デシリアライズの方法については、 [.NET][C#]XMLをクラスに変換する/クラスをXMLに変換する | ごった煮 – tips about programming and building a server に詳しく書いておりますのでこちらを参照していただくとして、 ページでは、属性とテキストで構成されるXMLをデシリアライズする為のクラスの設計方法について記載します 読み込み対象となるXML 例として、以下の様なXMLを用意しました <?xml version="1.0" encoding="utf-8"?> <person> <name>山田太郎</name> <birthday>1980/01/01<

  • XMLシリアル化 - XMLによるオブジェクトの保存と復元

    XMLシリアル化を用いることで、オブジェクトの状態をファイルに保存できます。一方で保存すべき対象がアプリケーションに関するものならば、それはアプリケーション設定で管理します。 シリアル化 (Serialize) オブジェクトをストリームに変換し、ファイルへ書き込みます。 シリアル化の対象となるクラス public class ClassName { public int publicField; // publicなフィールド private int privateField; // privateなフィールド (シリアル化の対象外) // get、setアクセサを有する publicなプロパティ public int Property { get { return privateField; } set { privateField = value; } } // getアクセサのみの

  • Goメモ-232 (xmlのMarshal/Unmarshalで入れ子の要素を指定) - いろいろ備忘録日記

    概要 サンプル 参考情報 概要 よく忘れるので、ここにメモメモ。。。 xml の Marshal/Unmarshal で入れ子の要素の値を取得する場合、ちゃんと要素毎に type 作って指定していくのが正道だと思いますが、面倒なので一気に取得したいときがあります。 んで、 xml パッケージのドキュメントを見ると以下のように記載されています。 https://pkg.go.dev/encoding/xml@go1.18.4 の Unmarshal の部分に If the XML element contains a sub-element whose name matches the prefix of a tag formatted as "a" or "a>b>c", unmarshal will descend into the XML structure looking for e

    Goメモ-232 (xmlのMarshal/Unmarshalで入れ子の要素を指定) - いろいろ備忘録日記
  • XML スキーマを XML 文書に取り込む - XML プログラミング

    delegate
    delegate 2022/10/13
  • XMLにおける名前空間 - データ記述とXML

    これまで扱ってきたXML文書は、単一のスキーマに基づくものでした。 例えば注文書のXML文書では、 注文書のスキーマで定義されている要素だけが現れます。 実際の場面では、1つのXML文書内で、複数のスキーマの要素を混在させて使いたい場合があります。 例えば、品物を記述するためのスキーマを用意しておくと、 注文書や在庫管理票など、品物の情報の記述を必要とするさまざまな場面で使えそうです。 また、既存のものをベースに新たな文書を作りたい場合があります。 例えば、XHTMLの要素と独自の要素を組み合わせる、 XHTMLとMathMLを組み合わせる、などです。 ここでは、複数のスキーマに基づくXML文書の作成方法を紹介します。 いま、スキーマaとスキーマbの2つのスキーマに基づいたXML文書を考えます。 スキーマが2つあるということは、 それぞれのスキーマで定義されている要素が1つの文書内に混在す

    delegate
    delegate 2022/10/13
  • 高速軽量XMLパーサ:RapidXMLを触ってみた

    RapidXMLのページから拾ってきたversion 1.13のZIPファイルを解いて出てきたのはヘッダが4HTMLドキュメントとライセンス条項……これだけ? なんともそっけない構成ですがヘッダを#includeするだけで使えるみたい、軽量ライブラリの鑑です。ヘッダのタイムスタンプが2009年5月で、きょうびのコンパイラが素直にってくれるか少々不安でしたが、お試しコードをVisual C++ 2017が、するりと呑んでくれたので一安心。 parseのキホン RapidXMLでXMLをパースするのは、とっても簡単。xml_documentを用意し、メンバ関数:parse()にXML文字列をわすだけ。 #include <rapidxml.hpp> #include <iostream> #include <string> using namespace std; // 以降、Rapi

    高速軽量XMLパーサ:RapidXMLを触ってみた
  • https://www.jcsc.co.jp/tech_blog/archives/18

  • 簡単なXML Schemaから始めよう

    この連載では、XML Schemaについて解説します。簡単なXMLの構造をXML Schemaにより記述できるようになることを目標に、XML Schemaの概要、要素・属性の定義、Complex TypeやSimple Type、属性グループについて解説していきます。連載を読むに当たり、整形式のXMLに関して十分理解していることを前提とします。 XMLの構造を表すスキーマ言語とは? XML Schemaはスキーマ言語です。ところで、「スキーマ言語」とは何なのでしょう?そもそも「スキーマ」とは何なのでしょう? スキーマとは、XMLの構造です。「いつ、どの要素が出現するのか」「その要素にはどのような属性があるのか」など、XMLの木構造についての定義がスキーマです。そして、スキーマを記述する言語が「スキーマ言語」です。 例えば、インターネットショップなどでWebを通して商品を購入するとします。こ

    簡単なXML Schemaから始めよう
    delegate
    delegate 2022/07/21
  • XmlLite プログラミング

    XmlLite とは、Microsoft が提供する軽量で高性能な XML ライブラリです。体は xmllite.dll で、C++ 用の xmllite.h ファイルと xmllite.lib ファイルが用意されています。主に C++ から利用されることが推奨されていますが、DLL を扱うことのできる他の言語からも利用可能です。XmlLite は XML を読み書きするために COM 形式のインターフェイスを扱いますが、システムに COM を登録したり CoInitialize() を呼び出す必要はありません。

  • XML Schemaで一意キーとなる要素・属性を定義する

    スキーマにおいて、文字列長を規定することは大変重要なことです。というのも、XML文書としてやりとりされたデータを、いざ自分のシステムなりデータベースなりに格納しようとしても、文字列長が規定されたフィールド長を超えていたら、そもそもデータベースに格納すらできません。 別稿「XML Schemaで文字列パターンを定義する」でも紹介した正規表現チェック(<xsd:pattern>)がむしろ高レベルなデータのセマンティックな妥当性を保証するものだとするならば、文字列長などのチェックはより低レベル(基的な)データの最低限の妥当性を保証する規定といえます。 具体的な例を見てみましょう。なお、対象となるXML文書は、別稿「XML Schemaで文字列パターンを定義する」で用いたbooks.xmlを使用します。 [books_length.xsd] <?xml version="1.0" encodin

    XML Schemaで一意キーとなる要素・属性を定義する
  • XMLとJSONの話(1) データフォーマットとしての比較

    XMLとJSONの相互変換を行うライブラリはいくつかありますが、完璧なものはどこにもありません。そもそもフォーマットに互換性がないからです。 XML_Builderを作る中でXMLとJSONを比較したのですが、一旦まとめておこうと思います。 XMLは文書の電子化に源流があります。そのため長いテキストをベースに何か情報を付加していくのには非常に便利なフォーマットです。反面、含めることができるのはテキストのみで、integerやboolean、nullといった基的な型は存在しませんし、バイナリデータを含めることもできません。(BASE64でエンコードするなどの工夫が必要です) 例えば、以下のような文章があった時、 PHPPHP: Hypertext Preprocessorの略で、プログラミング言語の一種である。 リンクを張るなど、文章の一部にメタ情報を付与し、 <dfn id="php"

    XMLとJSONの話(1) データフォーマットとしての比較
  • PythonとSAXでXMLを扱う - shogo82148's blog

    XMLを扱いたくなったのでメモメモ。 XMLを扱うためのAPIとして、DOM(Document Object Model)を構築する方法と、SAX(Simple API for XML)ってのを使う方法がある。 どちらもW3Cで標準化されているAPIだから、Pythonに限らず、いろんな言語で同じようにXMLを扱うことができる。 HTML上のJavaScriptなんかを触ってると、DOMはよく出てくるね。 DOMとSAXの違いは、DOMはメモリ上にXMLのデータを全部取り込んでから処理をするのに対して、SAXはデータを読み込んだら逐次処理していく点。 DOMは、XMLの構造をツリー構造として扱うことができるから、いろいろ高度なことができる。 ただ、メモリ上に全てのデータを展開するから、メモリをうし、重い。 SAXは、XMLのタグの出現を「イベント」として扱うAPI。 読み込んだデータをメ

    PythonとSAXでXMLを扱う - shogo82148's blog
  • XML&SOAフォーラム全記事インデックス

    SOAフレームワークBeehiveに挑戦 Apacheプロジェクトとして開発が進むオープンソースのSOAフレームワーク「Beehive」。その実態を徹底検証する 1. Beehiveでメタデータ(JSR 175/181)を体験しよう 2. Beehive開発環境「Pollinate」を使ってみよう 3. PollinateでNetUI Page Flowプログラミング

    delegate
    delegate 2012/10/05
  • SAX

    This is the official website for SAX. It replaces David Megginson's original SAX page. SAX is the Simple API for XML, originally a Java-only API. SAX was the first widely adopted API for XML in Java, and is a “de facto” standard. The current version is SAX 2.0.1, and there are versions for several programming language environments other than Java. SAX has recently switched over to the SourceForge

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • @IT:XMLテクニック集 - インデックス

    QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21) データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11も更新された XML勧告を記述するXMLspecとは何か (2005/10/12) 「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが当に役立っている具体的な証である 文字符号化方式にまつわるジレンマ (2005/9/13) 文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16) セキュリティ関連のXML仕様に進展あり。また、日発の新しいXMLソフトウェアアーキテクチャ「xfy techno

    delegate
    delegate 2012/10/02
  • 実践! iPhoneアプリ開発 (7) RSSリーダの作り方 (3) - XMLをパースする | エンタープライズ | マイナビニュース

    前回はRSSフィードをダウンロードするところまで説明した。今回は、ダウンロードしたXMLデータをパースすることについて、説明しよう。 iPhoneのXMLライブラリ iPhoneは、標準で2種類のXMLをパースするためのライブラリを備える。libxml2とNSXMLParserだ。 libxml2はGnomeプロジェクトで開発された、XMLのパーサライブラリだ。もともとは、GnomeというLinuxディストリビューションの1つに対して開発されたものだが、MITライセンスのもとでソースコードが公開されているため、多くのプラットフォームに移植されている。もちろんMac OS Xにも移植され、それがiPhoneでも使えるようになっている。 libxml2の特徴は、高機能である事だ。まず基的なXMLパーサ機能として、SAXおよびDOMパーサを提供する。さらに、XMLに関する多くの標準に対応してい

  • @IT:XMLカレッジ―総合インデックス

    XMLとWebサービスを効率よく学ぶ@ITオンライン・カレッジ 3つの専門コースを設け、技術レベルに応じた連載記事を用意しています。各コースはさらに科目に分類して、【必修】ないし【選択】の表示をしています。みなさんのキャリアパスに合わせた履修計画を立ててください。