测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | BSD |
发布时间最后发布 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Asif Adamsha 维护。
EasyXMLParser 是一个用 Swift 编写的简单易用的 XML 解析器,适用于 iOs
要使用 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
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 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>
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。