使用xmllint --shell,我执行
chapter > cat *
-------
<title>Getting to Know Penguins</title>
-------
<abstract>
<para>Penguins are cute.</para>
</abstract>
-------
<sect1>
<title>The Head</title>
<para>...</para>
</sect1>
-------
<sect1 id="penguin.coat">
<title>The Coat</title>
<para>...</para>
</sect1>
Run Code Online (Sandbox Code Playgroud)
和
chapter > ls
ta- 5
--- 1 title
ta- 5
--- 3 abstract
ta- 5
--- 5 sect1
ta- 5
c-- 17
ta- 5
-a- 5 sect1
ta- 3
Run Code Online (Sandbox Code Playgroud)
"ta","c"和"a"代表什么,字符代表什么?
小智 4
您寻求的答案可以在以下位置找到:
libxml2-2.9.0::debugXML.c:1652: xmlLsOneNode(FILE *输出,xmlNodePtr 节点)
我已按节点类型对输出进行了细分,请注意,为了方便起见,下面的后两个字符显示为“--”。实际上,对于除 XML_NAMESPACE_DECL 之外的所有节点类型,如果 node->properties 不为 NULL,则第二个字符为“a”;如果 node->nsDef 不为 NULL,则第三个字符为“n”。最后,#NC# 建议该节点拥有的子节点数量的数字值,而 #CL# 是节点内容长度的数字值。
XML_ELEMENT_NODE:
--- #NC# [[(节点->ns->前缀):](节点->名称)]
XML_ATTRIBUTE_NODE:
a-- #NC# [(节点->名称)]
XML_TEXT_NODE:
t-- #CL# [xmlDebugDumpString(节点->内容)...|"(NULL)"]
* 内容的字符串值最多40个字符,其中有一些
* 替换。空格 (' ') 替换空白字符
* XML RFC 允许:(0x20、0x9、0xA、0xD)。任何角色,其
* 十六进制值为 0x80 或更大的值打印为字符串:“#XXXX”
XML_CDATA_SECTION_NODE:
C——#CL#
XML_ENTITY_REF_NODE:
e-- 1 [(节点->名称)]
XML_ENTITY_NODE:
E-- 1 [(节点->名称)]
XML_PI_NODE:
p--#CL#
XML_COMMENT_NODE:
c--#CL#
XML_DOCUMENT_NODE:
d--#NC#
XML_HTML_DOCUMENT_NODE:
h--#NC#
XML_DOCUMENT_TYPE_NODE:
T-- 1
XML_DOCUMENT_FRAG_NODE:
F-- 1
XML_NOTATION_NODE:
N-- 1
XML_NAMESPACE_DECL:
n 1 [(节点->前缀)|"默认"] -> (节点->href)
默认:
?-- 1