gpt4 book ai didi

java - xml中事件和标签的区别

转载 作者:行者123 更新时间:2023-12-01 10:18:41 24 4
gpt4 key购买 nike

XML 中的事件和标签有什么区别?

事件是大标题,标签是副标题吗?

我如何知道哪个是事件,哪个是标签?

因此,在下面的代码中,我从该 XML 文件获取事件和标签。

我发现标签以某种方式隐藏在 xml 文件中,对于每个事件,它都会通过标签,但我想知道如何分辨两者之间的确切区别

public boolean process (){
boolean status = true;
Application currentRecord = null;
boolean inEntry = false;
String textValue = "";

try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance().newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new StringReader(this.xmlData));
int eventType = xpp.getEventType();

while(eventType != XmlPullParser.END_DOCUMENT){
String tagName = xpp.getName();
switch (eventType){
case XmlPullParser.START_TAG:
Log.d("ParseApplications", "Starting Tag for " + tagName);
if (tagName.equalsIgnoreCase("entry")) {
inEntry = true;
currentRecord = new Application();
}
break;

case XmlPullParser.TEXT:
textValue = xpp.getText();
break;

case XmlPullParser.END_TAG:
Log.d("ParseApplication", "Ending Tag for " + tagName);
if (inEntry){
if (tagName.equalsIgnoreCase("entry")){
applications.add(currentRecord);
inEntry = false;
}
else if (tagName.equalsIgnoreCase("name")){
currentRecord.setName(textValue);
}
else if (tagName.equalsIgnoreCase("artist")){
currentRecord.setArtist(textValue);
}
else if (tagName.equalsIgnoreCase("release date")){
currentRecord.setReleaseDate(textValue);
}
}
break;
default :

}
eventType = xpp.next();

最佳答案

XML 文件由一组标签组成,应使用 XML 架构或 DTD(旧样式)进行定义。

某些 XML 解析器(如您使用的解析器)是事件驱动的。这意味着它们按顺序读取 XML 文件,并在遇到特定元素(例如开始标记、结束标记和标记内的文本)时引发事件。通过这些事件,它们向解析器的调用者发出信号,表明解析已到达 XML 内容中的位置,并且如果调用者决定对特定标记执行某些操作,那么它将对该事件使用react。

总而言之,当解析器遇到 XML 文件的元素(例如标签)时,就会引发事件。另一方面,标签是 XML 文件的构建 block 。

关于java - xml中事件和标签的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757472/

24 4 0