【发布时间】:2015-09-17 15:10:26
【问题描述】:
我对使用 C# 的 XML 类比较陌生。我什至无法让 XML 阅读器识别我传递给它的字符串是 XML。这是我用来测试基本 Xml 阅读的单元测试
[TestFixture()]
public class LegacyWallTests
{
[Test()]
public void ReadLegacyWallFile()
{
var legacyWallText = legacyfiles.legacywall1;
{
string xmlString = legacyfiles.legacywall1;
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
reader.HasAttributes.Should().BeTrue();
}
}
}
}
这是我要阅读的 XML
<Wall>
<Actual>
<Specifications>
<Insertion> 375.6858 916.8871 0.0000 </Insertion>
<Angle> 3.14159 </Angle>
<WallDesc> E4-1, H: 8' 1 1/8, Sh: Yes, S: 2~4~2~9-0-0~SPF~~, Spc: Single @ 16 in OC, BP: 2~4~2~12-0-0~SYP~~, CP: 2~4~2~12-0-0~SYP~~, TP: 2~4~2~12-0-0~SYP~~,\P LI: Single @ 38.75000000, CB: No, VB: No, NCT: 2~4~2~9-0-0~SPF~~, CT: 2~4~2~9-0-0~SPF~~, Pac: 2~4~2~9-0-0~SPF~~, Mir: Yes </WallDesc>
<WallNum> 1 </WallNum>
<VaporBarrier></VaporBarrier>
</Specifications>
</Actual>
</Wall>
legacyfiles.legacywall1 是我添加到项目资源中的 xml 文件的名称。我知道正在读取 xml 文件,因为将该字符串输出到控制台会为我提供文件中的 xml。但是,当我创建 XmlReader 并测试是否有属性时,它说没有。我不知道我做错了什么。
【问题讨论】:
-
回答您的确切问题“我做错了什么” - 不检查文档,也没有为您的帖子提供好的标题。
-
旁注:帖子中的 XML 没有属性,因此即使您实际阅读过它,也不会出现
HasAttributes为真的情况 - 您可能需要更新发布以显示带有属性的 XML。 -
我正在编写的应用程序必须按原样读取 XML,所以我需要一种可以按原样读取此 XML 的方法...