以XML格式编写二维点
在用XML编写2D点数组时,我得到以下输出:以XML格式编写二维点,xml,Xml,在用XML编写2D点数组时,我得到以下输出: <Vertices count="42"> <V> <X>110</X> <Y>0</Y> </V> <V> <X>109.5105</X> <Y>3.0901</Y> </V> <V> <X>108.0901&l
<Vertices count="42">
<V>
<X>110</X>
<Y>0</Y>
</V>
<V>
<X>109.5105</X>
<Y>3.0901</Y>
</V>
<V>
<X>108.0901</X>
<Y>5.8778</Y>
</V>
...
110
0
109.5105
3.0901
108.0901
5.8778
...
在内部,我们正在讨论编写它们的最佳布局/标记命名。以下是其他几个选项:
<Vertices>
<Point>110, 0</Point>
<Point>109.5105, 3.0901</Point>
<Point>108.0901, 5.8778</Point>
...
110, 0
109.5105, 3.0901
108.0901, 5.8778
...
或
110, 0
109.5105, 3.0901
108.0901, 5.8778
...
假设您需要解析此XML文件:
- 你最喜欢什么布局
- 根据XML规范,哪种布局更正确
谢谢。这是高度基于意见的,所以我的: 我选择第一种方法有几个原因:
<vertices>
<vertex x="0.123" y="1.443" />
<vertex x="1.321" y="0.334" />
</vertices>
同样的优势列表也适用于这种格式,只是它更易于人类阅读
编辑:我忘记了,对于解析,您的第一个建议(以及我上面给出的建议)比您建议的其他两种格式要容易得多,这两种格式需要对每个点进行另一次字符串拆分/修剪操作。那么
count=42
属性呢?我们把它包括进去好吗?它只会带来问题。设想有人在不更新属性的情况下手动删除节点。还有,这个属性有什么意义?您可以在解析XML文件之后甚至在解析XML文件时轻松计算顶点的数量。使用XmlDocument
这是一个很简单的方法。请注意,XML规范没有对节点的读取顺序做出任何声明!我知道的大多数XML解析器都会按照节点在XML文件中的顺序返回节点,但这不是给定的,因此如果顶点的顺序相关,则需要另一个属性,以便在解析XML文件后进行排序。
<vertices>
<vertex x="0.123" y="1.443" />
<vertex x="1.321" y="0.334" />
</vertices>