这里的小xml建模练习.
假设我们有一些逻辑表达式:(x&y)| (p&q)
无论出于何种原因,它都需要用XML表示.
这是一个快速的刺,但我认为这是笨拙的:
<expr>
<or>
<and>
<e>x</e>
<e>y</e>
</and>
<and>
<e>p</e>
<e>q</e>
</and>
</or>
</expr>
Run Code Online (Sandbox Code Playgroud)
另一个刺伤,对我来说没有味道:
<expr>
<or>
<and l="x" r="y"/>
<and l="p" r="q"/>
</or>
</expr>
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
Armatus的回答对我来说很好.我认为左右元素是多余的.有一个逻辑表达式,如果我左右或左右评估它们并不重要.
<expr type="or">
<expr type="and">
<sig>x</sig>
<sig>y</sig>
</expr>
<expr type="and">
<sig>p</sig>
<sig>q</sig>
</expr>
</expr>
Run Code Online (Sandbox Code Playgroud)
例如:
(x & y) | (p & q)
与...相同(q & p) | (y & x)
此外,它可以添加两个以上的信号.