给出了这个XML代码段
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
在SAX中,很容易获得属性值:
@Override
public void startElement (String uri, String localName,
String qName, Attributes attributes) throws SAXException{
if(qName.equals("book")){
String bookId = attributes.getValue("id");
...
}
}
但是要获得文本节点的值,例如<author>
标签的值,这是很难的…
private StringBuffer curCharValue = new StringBuffer(1024);
@Override
public void startElement (String uri, String localName,
String qName, Attributes attributes) throws SAXException {
if(qName.equals("author")){
curCharValue.clear();
}
}
@Override
public void characters (char ch[], int start, int length) throws SAXException
{
//already synchronized
curCharValue.append(char, start, length);
}
@Override
public void endElement (String uri, String localName, String qName)
throws SAXException
{
if(qName.equals("author")){
String author = curCharValue.toString();
}
}
这是使用SAX的通常方法。
只是要注意characters()
每个标签可能被调用多次。这是一个完整的例子。
否则,您可以尝试使用StAX。
我可以使用以下方法获取第一个
问题内容: 我有一段这样的HTML: 我有一个与此HTML匹配的WebElement。如何从中仅提取“标题”?方法.getText()返回“ Title \ nAuthor”。 问题答案: 您无法在WebDriver API中执行此操作,而必须在代码中执行。例如: 请注意,结尾的换行符实际上是元素文本的一部分,因此,如果您不想要它,则需要将其删除。
本文向大家介绍Sax解析xml_动力节点Java学院整理,包括了Sax解析xml_动力节点Java学院整理的使用技巧和注意事项,需要的朋友参考一下 JAVA 解析 XML 通常有两种方式,DOM 和 SAX。DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一个驻留内存的树结构(节点树),然后您的代码才可以使用
问题内容: 我正在尝试从这样的站点地图中提取URL:https : //www.bestbuy.com/sitemap_c_0.xml.gz 我已经解压缩并将.xml.gz文件另存为.xml文件。结构如下: 我正在尝试使用ElementTree提取整个文件中 loc 节点内的所有URL ,但仍在努力使其正常工作。 根据文档,我正在尝试这样的事情: 但是,没有任何东西可以载入价值。我的目标是提取lo
问题内容: 我希望获得“我是文本节点”,不希望删除“ edit”标签,并且需要跨浏览器解决方案。 问题答案: 这将获取所选元素的,然后对其应用过滤功能。过滤器功能仅返回文本节点(即带有的节点)。
问题内容: 如何使用PHP DOM从此标记中提取字符串“文本”? 包括“ notthis” 问题答案: 只要您可以影响DOM,就可以将其删除。 或者,只需访问的文本节点。 如果最终有更多的文本节点并且只想要第一个,则可以在的第一个赋值之后。