検索
ホームページバックエンド開発XML/RSS チュートリアルXML 解析 (グラフィックスとテキスト) の詳細な紹介

このチュートリアルでは、NSXMLParser object を使用して XML ファイルを解析します。解析結果はTable Viewで表示されます。このチュートリアルは、Xcode 7.3.1 上の iOS 9.3 上に構築されています。
Xcode を開いて、新しい単一ウィンドウ アプリケーションを作成します。名前はIOS9XMLParserTutorialで、組織名と組織ロゴは自分で決めます。言語として Swift を選択し、デバイスとして iPhone を選択します。

XML 解析 (グラフィックスとテキスト) の詳細な紹介

ビュー コントローラーをストーリーボードから削除し、ナビゲーション コントローラーを空のアートボードにドラッグします。このナビゲーション コントローラーには、自動的にテーブル ビュー コントローラーが組み込まれます。最初の View Controller を 削除すると、対応するストーリーボードの開始点 も削除されます。そのため、最初に新しく追加したナビゲーション コントローラーを選択し、新しいストーリーボードの開始点として属性インスペクターで [初期ビュー コントローラーである] チェックボックス

にチェックを入れます。

XML 解析 (グラフィックスとテキスト) の詳細な紹介

有効な View Controller のタイトル バーをダブルクリックして、「Books」に設定します。テーブルビューセルを選択し、属性インスペクターでそのスタイルプロパティ

をSubtitleに設定します。

XML 解析 (グラフィックスとテキスト) の詳細な紹介

ストーリーボードはこんな感じ

XML 解析 (グラフィックスとテキスト) の詳細な紹介

初期のViewControllerを削除したので、ViewController.swiftも一緒に削除できます。 iOS -> ソース -> Cocoa Touch Class

を選択し、新しいファイルを追加し、TableViewController という名前を付け、UITableViewController のサブクラスとして設定します。

XML 解析 (グラフィックスとテキスト) の詳細な紹介

ストーリーボードに移動し、テーブルビューコントローラーを選択し、アイデンティティインスペクターでカスタムクラスセクションをTableViewControllerに設定します。

XML 解析 (グラフィックスとテキスト) の詳細な紹介

iOS -> ソース -> Swift ファイル

を選択し、新しいファイルを追加します。 Books.xml という名前を付けます

XML 解析 (グラフィックスとテキスト) の詳細な紹介

Books.xml を開いて次のコードに置き換えます

<?xml version="1.0"?>
<catalog>
    <book id="1">
        <title>To Kill a Mockingbird</title>
        <author>Harper Lee</author>
    </book>
    <book id="2">
        <title>1984</title>
        <author>George Orwell</author>
    </book>
    <book id="3">
        <title>The Lord of the Rings</title>
        <author>J.R.R Tolkien</author>
    </book>
    <book id="4">
        <title>The Catcher in the Rye</title>
        <author>J.D. Salinger</author>
    </book>
    <book id="5">
        <title>The Great Gatsby</title>
        <author>F. Scott Fitzgerald</author>
    </book>
</catalog>
iOS->Source->Swift File を選択して、XML ファイル内のさまざまな項目のデータとして新しいファイルを追加しますモデル

。これを Book.swift と呼び、次のコードに置き換えましょう

import Foundation

class Book {
    var bookTitle: String = String()
    var bookAuthor: String = String()
}
tableViewController.swift ファイルに移動し、次の 変数

を追加します。

var books: [Book] = []
var eName: String = String()
var bookTitle = String()
var bookAuthor = String()
viewDidL

oadメソッドを

override func viewDidLoad() {
    super.viewDidLoad()
        
    if let path = NSBundle.mainBundle().URLForResource("books", withExtension: "xml") {
        if let parser = NSXMLParser(contentsOfURL: path) {
            parser.delegate = self
            parser.parse()
        }
    }
}

NSXMLParserオブジェクトに書き換えて、バンドル内のbooks.xmlファイルを解析します。次のデータ ソースとテーブル ビューのデリゲート メソッドを追加します

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return books.count
}
    
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
        
    let book = books[indexPath.row]
        
    cell.textLabel?.text = book.bookTitle
    cell.detailTextLabel?.text = book.bookAuthor

    return cell
}
すべての書籍のタイトルと著者データは書籍 配列

に保存され、テーブル ビューによって表示されます。次に、NSXMLParserのデリゲートメソッドを実装します。
    // 1
    func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, 
    qualifiedName qName: String?, attributes attributeDict: [String : String]) {
        eName = elementName
        if elementName == "book" {
            bookTitle = String()
            bookAuthor = String()
        }
    }
        
    // 2  
    func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
        if elementName == "book" {
                
        let book = Book()
        book.bookTitle = bookTitle
        book.bookAuthor = bookAuthor
                
        books.append(book)
        }
    }
        
    // 3
    func parser(parser: NSXMLParser, foundCharacters string: String) {
        let data = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
            
        if (!data.isEmpty) {
            if eName == "title" {
                bookTitle += data
            } else if eName == "author" {
                bookAuthor += data
            }
        }
    }
  1. このメソッドは、解析オブジェクトが「」の開始タグに遭遇するとトリガーされます
  2. このメソッドは、解析オブジェクトが「」の終了タグに遭遇するとトリガーされます
  3. ここで実際に解析処理が実行されます。タイトルと著者のタグが解析され、対応する変数が初期化されます。


プロジェクトをビルドして実行します。 TableViewController ですべての書籍のタイトルと著者を確認できます。 XML 解析 (グラフィックスとテキスト) の詳細な紹介


🎜

以上がXML 解析 (グラフィックスとテキスト) の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

RSSドキュメントは、頻繁に更新されるコンテンツを公開および購読するために使用されるXMLベースの構造化されたファイルです。その主な機能には、1)自動化されたコンテンツの更新、2)コンテンツの集約、3)ブラウジング効率の改善。 RSSFeedを通じて、ユーザーはタイムリーにさまざまなソースから最新情報を購読および取得できます。

RSSのデコード:コンテンツフィードのXML構造RSSのデコード:コンテンツフィードのXML構造Apr 17, 2025 am 12:09 AM

RSSのXML構造には、1。XML宣言とRSSバージョン、2。チャネル(チャネル)、3。アイテムが含まれます。これらの部品はRSSファイルの基礎を形成し、XMLデータを解析することにより、ユーザーがコンテンツ情報を取得および処理できるようにします。

XMLベースのRSSフィードを解析して利用する方法XMLベースのRSSフィードを解析して利用する方法Apr 16, 2025 am 12:05 AM

rssfeedsusexmltosyndicatecontent; parsingtheminvolvesloadingxml、navigating structure、and extractingdata.applicationsincludebuildingnewsaggretationsandtrackingpodcastepisodes。

RSSドキュメント:お気に入りのコンテンツをどのように配信するかRSSドキュメント:お気に入りのコンテンツをどのように配信するかApr 15, 2025 am 12:01 AM

RSSドキュメントは、XMLファイルを介してコンテンツの更新を公開することで機能し、ユーザーはRSSリーダーを介して通知をサブスクライブして受信します。 1。コンテンツパブリッシャーは、RSSドキュメントを作成および更新します。 2。RSSリーダーは、XMLファイルに定期的にアクセスして解析します。 3.ユーザーは、更新されたコンテンツを閲覧および読み取ります。使用例:TechCrunchのRSSフィードを購読するには、RSSリーダーへのリンクをコピーするだけです。

XMLを使用したフィードの構築:RSSの実践ガイドXMLを使用したフィードの構築:RSSの実践ガイドApr 14, 2025 am 12:17 AM

XMLを使用してRSSFeedを構築する手順は次のとおりです。1。ルート要素を作成してバージョンを設定します。 2.チャネル要素とその基本情報を追加します。 3.タイトル、リンク、説明を含むエントリ要素を追加します。 4. XML構造を文字列に変換して出力します。これらの手順を使用すると、有効なRSSFeedをゼロから作成し、リリース日や著者情報などの追加要素を追加することにより、機能を強化できます。

RSSドキュメントの作成:ステップバイステップのチュートリアルRSSドキュメントの作成:ステップバイステップのチュートリアルApr 13, 2025 am 12:10 AM

RSSドキュメントを作成する手順は次のとおりです。1。要素を含むルート要素を使用して、XML形式で書き込みます。 2。チャネル情報を説明する要素など。 3.要素を追加します。それぞれがコンテンツエントリを表します。 4.オプションで、コンテンツを濃縮するための要素を追加します。 5. XML形式が正しいことを確認し、オンラインツールを使用してパフォーマンスを最適化し、コンテンツを更新します。

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

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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール