在XPath的视角中,elements,
attributes, text, comments, processing
instructions 甚至namespaces
都作为树结构中的互相关联的节点来表示的。某些节点如Elements,可以有子节点,有些则不可能,如attributes,根据XML规范是不能有子的。根节点则是终极的父节点。
每个节点通过不同的方式对XPath公开其属性:
- 一个名字.某些节点如根节点,备注和文本节点的名字永远是空串"", Elements和attributes具有扩充的名字: local name 加上 namespace URI. Processing instructions 使用不受namespace处理影响的"目标"作为名字. namespace 节点则使用前缀作为名字.
- 一个字符串值.XML源中的文本节点包含文本字符
-
A string value. Text nodes contain the text characters from the
source XML, with line endings normalized to #xA as required by the XML specification. Text
nodes will always contain as much text as possible, and, thus, no two
consecutive children will ever both be text nodes and the location of CDATA
sections is not preserved. Comment nodes
contain the full text of the comment (minus the
<!-- and
--> delimiters). Attributes contain the attribute value, and processing instructions contain the text after
the initial target and whitespace, and up to and not including the terminating
?>. Namespace nodes contain a URI (or the empty
string) as a name. The root node and element
nodes compute their string value by recursively concatenating the string values
of all descendant nodes. -
Children. In theory, you can ask about children
of any node, but only the root node and element nodes will actually have
children. -
A position relative to all other nodes. The
overall ordering is called the document order.
唉..累了,还是直接看英文好了.