-1

尝试使用 linq to xml 拆分字符串数据并构建为 xml 格式,但我在生成 xml 字符串时遇到了一些困难

mystring = {1:abcd}{2:efgh}{3:/r/n:12:mmm/r/n:65:nnn}

所需输出:

<MESSAGE>
<BLOCK1>
<VALUE>abcd</VALUE>
</BLOCK1>
<BLOCK2>
<VALUE>efgh</VALUE>
</BLOCK2>
<BLOCK3>
<TAG>12</TAG>
<VALUE>mmm</VALUE>
<TAG>65</TAG>
<VALUE>nnn</VALUE>
</BLOCK3>
</MESSAGE>

请就上述相同的建议

4

1 回答 1

0
mystring = {1:abcd}{2:efgh}{3:/r/n:12:mmm/r/n:65:nnn}
  • 首先使用正则表达式来获取括号的匹配模式。

1:abcd 2:efgh 3:/r/n:12:mmm/r/n:65:nnn

  • 然后使用包含您的字符串的结果字符串构建您的 xml。您可能希望将所有 替换为/r/n空白,如"3:/r/n:12:mmm/r/n:65:nnn".Replace("/r/n", ""). 然后调用.Split(':')将其转换为数组。

  • 从那里你将不得不开发你的逻辑来将字符串数组解析到你的节点中。如果值可以出现,int.TryParse(string, out int value)那么它会进入 TAG 元素,否则会进入 VALUE 元素。

  • 当然,跳过任何空数组元素。Split(':', StringSplitOptions.RemoveEmptyEntries)如果您可以在结果数组中看不到它们,您可以在您的拆分中执行此操作。

于 2012-07-07T14:26:26.227 回答