为什么不使用XMLHttpRequest从这个XML文档中显示标题标签?

时间:2017-06-25 20:25:40

标签: javascript html xml xml-parsing

我已经从W3Schools下载了这个books.xml文件,并且我已使用下面的代码(with instructions from W3Schools)对其进行了解析,但标题标签并未出现在解析后的代码。



FirebaseDatabase.getInstance().getReference("events")
            .orderByChild("event_name").equalTo(event_name)
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot snapshot) {
                    for (DataSnapshot eventSnapshot: snapshot.getChildren()) {
                        Event event = eventSnapshot.getValue(Event.class);
                        Log.d(event.getEvent_name());
                        for (Task task: event.getTasks()) {
                            Log.d("Task name:",task.getName());
                        }
                    }
                }

                @Override
                public void onCancelled(DatabaseError error) {
                    throw error.toException(); // don't ignore errors
                }
            });




如何让标题标签也出现在结果中?

1 个答案:

答案 0 :(得分:1)

您告诉浏览器将XML视为HTML ...它不是。

XML中的大多数元素都不存在于HTML中,因此错误恢复会使用默认样式将它们粘贴到文档中。

HTML确实有一个<title>元素。它控制默认书签名称并显示在浏览器的标题栏中,用于标签选项卡(这可能因浏览器而异)。 <title>元素未在文档中呈现,因此其默认样式为display: none

&#13;
&#13;
var style = window.getComputedStyle(document.querySelector("div title"));
console.log(style.getPropertyValue("display"));
&#13;
<div>This is an invalid <title>title</title> element.</div>
&#13;
&#13;
&#13;

如果你想要显示它,你必须编写CSS来改变它。

更好的选择是从XML中读取数据并生成真实的语义HTML。