我使用C#的XML类比较新。我甚至无法让XML阅读器识别出我传递给它的字符串是XML。这是我用来测试基本Xml读数的单元测试
$.each(c, function() {
// I need to pass each value from the array as the
// last argument in the function below
var p = get_shutter_price( width, height, this );
if ( p > 0 ) {
// Return the value from the array which allowed the condition to be met
console.log( this );
}
});
这是我正在尝试阅读的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();
}
}
}
}
legacyfiles.legacywall1是我添加到项目资源中的xml文件的名称。我知道正在读取xml文件,因为将该字符串输出到控制台会从文件中获取xml。但是,当我创建XmlReader并测试有属性时,它说没有。我不知道我做错了什么。
答案 0 :(得分:5)
XmlReader.HasAttribute返回true
。由于您没有进入文档,因此读者从根元素<Wall>
开始,该元素没有属性。你的其他元素也没有。
bar
中的属性为<foo bar="baz" />
。
您通常也不希望使用读者来处理XML。获取或生成XSD(对输入验证也非常有用),从该XSD生成一个类,并将传入的XML反序列化为该类的实例。然后,您只需访问wall.Actual.Specifications[0].WallDesc
。