【发布时间】:2011-12-13 08:23:40
【问题描述】:
在解析 XML 文档时,您可以设置一个定位器,当不同的事件触发时,定位器会告诉您当前所在的行号和列号。
我想知道,如何获取该行的内容,我是否必须传递文件,自己将其读入数组,这不是由 sax 处理程序完成的,因为它让我可以访问定位器,必须离开才能访问处理程序当前正在使用的文件。
谢谢!
::::::::::::::::::::::::::::::::::::::::::::
我正在尝试回显一个 xml 文件并希望包含 doctype 声明:
<!DOCTYPE employee [<!ELEMENT employee (Name, Dept, Title)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Dept (#PCDATA)>
<!ELEMENT Title (#PCDATA)> ]>
有一个
public void startDTD(String name, String publicId, String systemId);
还有一个
public void endDTD();
您可以在哪里使用定位器获取当前行和列,并从文件中读取。
SAX 解析器不会触发事件或提供有关读取的 XML 文件中内容的足够信息的一些事情。
【问题讨论】:
-
你找到解决这个问题的方法了吗?
-
@Kakawait 哇,那是很久以前的事了!但是,我相信我的 EDIT 包含答案。我记得第一行并不总是可用的。