识别编程语言,XML 不带右括号

Identify programming language, XML without closing brackets

我正在尝试从 C# Winform 中的另一个软件读取配置文件,但无法获取它使用的语言,因为它的某些项目有右括号,而其他项目没有。 OpenXML 不喜欢没有 </Name> 括号和标签中单词之间有空格的代码,例如 <User Name>。有没有人遇到过试图将这种类型解析为 C# 对象或知道是什么语言生成它的?我正在读取一个非常大的配置文件(1000 多行),因此无法进行硬编码。

配置文件示例:

<Profile>
    <Name>Default Profile
    <User Name>User1
    <User Settings>
      <Setting1>Yellow
      <Setting2>Admin
      <Setting3>Full Screen
    </User Settings>
</Profile>

几乎可以成为 SGML,HTML 和 XML 的前身:

  • SGML 允许 end-tags 为 omitted
  • SGML 允许将某些属性最小化为仅属性值。 (尽管您的示例标记似乎在语法上利用了此 属性,但所使用的值实际上作为最小化属性值没有多大意义。)

但是end-tag、</User Settings>是不对的。

因此,可能有一些 non-standard 标记格式您不太可能找到 much/any 支持。请参阅 ,了解您可以从中恢复可用 XML 的方法。