tcl XML解析错误
我试图使用dom包解析XML文件,但我得到的错误如下:tcl XML解析错误,tcl,Tcl,我试图使用dom包解析XML文件,但我得到的错误如下: unterminatedattribute {invalid attribute list around line 4} 下面是一个简单的测试: package require dom; set XML " <Top> <Name name='name' /> <Group number=1> <Member name='name1' test='test1'
unterminatedattribute {invalid attribute list around line 4}
下面是一个简单的测试:
package require dom;
set XML "
<Top>
<Name name='name' />
<Group number=1>
<Member name='name1' test='test1' l=100/>
</Group>
</Top>"
set doc [::dom::parse $XML]
set root [$doc cget -documentElement]
set node [$root cget -firstChild]
puts "[$node cget -nodeValue]"
问题是您必须将元素值用or'括起来。修复XML后,解析成功 我通常不使用dom包,而是使用这个包。
tdom包有一个-html选项,可以进行松散解析。问题是您必须将元素值用或括起来。修复XML后,解析成功 我通常不使用dom包,而是使用这个包。
tdom包有一个-html选项,可以进行松散解析。表示“XML”实际上在形式上是无效的;必须引用所有属性值。如果可以的话,解决这个问题
set XML "
<Top>
<Name name='name' />
<Group number='1'>
<Member name='name1' test='test1' l='100'/>
</Group>
</Top>"
如果您不能解决这个问题,您可以尝试在HTML模式下使用,这对于格式良好的约束要宽松得多,尽管它也降低了所有元素和属性名称的大小写。请注意,即使这样,它仍然会在您的特定输入文档上失败:
% package require tdom
0.8.3
% set doc [dom parse -html $XML]
error "Unterminated element 'group' (within 'member')" at position 114
">
<group number=1>
<member name='name1' test='test1' l=100/>
</group> <--Error--
</Top>"
修复您的文档是要做的第一件事 “XML”实际上在形式上是无效的;必须引用所有属性值。如果可以的话,解决这个问题
set XML "
<Top>
<Name name='name' />
<Group number='1'>
<Member name='name1' test='test1' l='100'/>
</Group>
</Top>"
如果您不能解决这个问题,您可以尝试在HTML模式下使用,这对于格式良好的约束要宽松得多,尽管它也降低了所有元素和属性名称的大小写。请注意,即使这样,它仍然会在您的特定输入文档上失败:
% package require tdom
0.8.3
% set doc [dom parse -html $XML]
error "Unterminated element 'group' (within 'member')" at position 114
">
<group number=1>
<member name='name1' test='test1' l=100/>
</group> <--Error--
</Top>"
修复您的文档是要做的第一件事 我曾经举过一个例子,它甚至破坏了tdom的dom解析——HTMLT在一个“文档”变得完全不可解析之前,有一个限制,可以将多少破坏吐到其中。我曾经举过一个例子,它甚至破坏了tdom的dom解析——HTMLT在一个“文档”变得完全不可解析之前,有一个限制,可以将多少破坏吐到其中。