tcl 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'

我试图使用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' 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在一个“文档”变得完全不可解析之前,有一个限制,可以将多少破坏吐到其中。