是否有像 JAVA/Android 库这样使用 CSS 选择器来解析 XML 的 jQuery?
像 :
String desc = myXML.find("bloc[type=pro]").get(0).attr("description");
与 jQuery 一样,Chainability 也是我正在寻找的东西......
我希望这存在!
是否有像 JAVA/Android 库这样使用 CSS 选择器来解析 XML 的 jQuery?
像 :
String desc = myXML.find("bloc[type=pro]").get(0).attr("description");
与 jQuery 一样,Chainability 也是我正在寻找的东西......
我希望这存在!
虽然最初设计为支持 CSS 选择器的 HTML 解析器,但如果您的唯一目的是提取数据而不是操作数据, Jsoup 也适用于 XML 文档。
Document document = Jsoup.parse(xmlString);
String desc = document.select("bloc[type=pro]").get(0).attr("description");
// ...
您会看到,语法几乎与您在问题中的语法相同。
Apache Jericho是您正在寻找的。
你的例子看起来像
String desc = source.getFirstElement( "type", "pro" ).getAttributeValue( "description" );
用 jericho 解析 HTML 是一种魅力,所以我想结构良好的 XML 更容易。
我使用 XPath 来解决这个问题。像 JDOM 这样的 XML 解析对 XPath 来说是可以的。也许 jQuery 看看 XPath 是如何工作的:p
//bloc[@type="pro"][1]/@description
Xpath 索引从 1 开始,而不是 0
由于Jsoup和Jericho等其他库中存在一些错误,因此与我的预期不同,
我写了一个类扩展org.xml.sax.helpers.DefaultHandler
来解析 XML。然后我编写了另外两个看起来像Jsoup 的类,其中包含两个Element
处理CSS3 选择器并返回属性值的函数。Elements
find
attr
我现在正在清理和评论该代码......稍后我会为感兴趣的人发布该库。
xmlDoc.find("bloc[type=Pro]>act").attr("label");
现在可以像在 jQuery 中一样!
编辑 !
这是访问代码的链接,供感兴趣的人使用:Google Code Project
droidQuery库可以完成您正在寻找的许多事情。尽管语法略有不同,但您可以:
使用链接的jQuery样式命令获取视图属性,例如:
CharSequence text = $.with(this, R.id.myTextView).attr("text");
解析 XML:
Document dom = $.parseXML(myXMLString);
如果您是jQuery的粉丝,您会很高兴看到它提供的几乎所有功能都包含在droidQuery中,尽管有时语法可能会有所不同,但它的主要目标是在语法上尽可能接近jQuery 。