EasyXMLParser 1.1.1

EasyXMLParser 1.1.1

测试已测试
语言语言 SwiftSwift
许可证 BSD
发布时间最后发布2017年2月
SwiftSwift 版本3.0
SPM支持 SPM

Asif Adamsha 维护。



  • ESGI

EasyXMLParser

EasyXMLParser 是一个用 Swift 编写的简单易用的 XML 解析器,适用于 iOs

Podfile

要使用 CocoaPods 将 EasyXMLParser 集成到你的 Xcode 项目中,在 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.2'

target 'TargetName' do
pod 'EasyXMLParser', '~> 1.1'
end

然后,运行以下命令:

$ pod install

用法

使用 XML 文件进行解析

if let utilisateursFichier = Bundle.main.path(forResource: "utilisateurs", ofType: "xml") {
            if let utilisateursString = try? String(contentsOfFile: utilisateursFichier) {
                if let utilisateurData = utilisateursString.data(using: .utf8) {

                    // Parse xml with EasyXMLParser
                    let parser = EasyXMLParser(withData: utilisateurData)
                    let items = parser.parse()

                    // data without filter
                    for item in items["utilisateurs"]["utilisateur"].getSiblingWithSameName() {
                        print(item.fullDescription())
                    }

                    // data with filter
                    let filtreUtilisateur = ["utilisateur":["nom":"", "mail":""]]

                    for item in items.filter(filtre: filtreUtilisateur) {
                        print(item.fullDescription())
                    }

                    // casting data
                    print("Code postal du premier utilisateur (int) : \(items["utilisateurs"]["utilisateur"]["code_postal"].intValue)")
                    print("Code postal du premier utilisateur (float) : \(items["utilisateurs"]["utilisateur"]["code_postal"].floatValue)\n")

                }
            }
        }

示例 xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<utilisateurs>
    <utilisateur>
        <nom>Lenore</nom>
        <mail>[email protected]</mail>
        <telephone>16520424 5277</telephone>
        <addresse>2339 Vivamus Ave</addresse>
        <ville>Şanlıurfa</ville>
        <code_postal>11600</code_postal>
        <pay>American Samoa</pay>
    </utilisateur>
    <utilisateur>
        <nom>Neville</nom>
        <mail>[email protected]</mail>
        <telephone>16140811 4054</telephone>
        <addresse>CP 406, 2955 Fusce Chemin</addresse>
        <ville>Sint-Martens-Lennik</ville>
        <code_postal>1728</code_postal>
        <pay>Ukraine</pay>
    </utilisateur>
</utilisateurs>

使用 URL 进行解析

if let url = URL.init(string: "https://korben.info/feed") {

            if let xmlData = try? Data.init(contentsOf: url) {

                // Parse xml with EasyXMLParser
                let parser = EasyXMLParser(withData: xmlData)
                let letFluxRSS = parser.parse()

                // get channel data
                print("Nom du flux RSS : \(letFluxRSS["rss"]["channel"]["title"].value)")
                print("Adress du flux RSS : \(letFluxRSS["rss"]["channel"]["link"].value)")

                print("Nombre d'article du flux RSS : \(letFluxRSS["rss"]["channel"]["item"].countSiblingWithSameName())")
                print("Nombre de données pour le premier article : \(letFluxRSS["rss"]["channel"]["item"].countAllChildren()) \n\n")

                // get article data
                for article in letFluxRSS["rss"]["channel"]["item"].getSiblingWithSameName() {
                    print(article.fullDescription())
                }
            }
        }

许可证

EasyXMLParser 在 BSD-3 许可证下发布。有关详细信息,请参阅 LICENSE。