- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个试图从 here 中读取的 XML 文件,并具有以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
namespace XML
{
class Program
{
static void Main(string[] args)
{
XmlTextReader textReader = new XmlTextReader("secLendingXML.cfm.xml");
while (textReader.Read())
{
switch (textReader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine(textReader.Name);
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.Text:
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.XmlDeclaration:
case XmlNodeType.ProcessingInstruction:
Console.WriteLine(textReader.Name + " " + textReader.Value);
break;
case XmlNodeType.Comment:
Console.WriteLine(textReader.Value);
break;
case XmlNodeType.EndElement:
break;
}
}
Console.ReadLine();
}
}
}
从读取节点并返回名称的意义上来说,代码工作正常。但是,问题是我还试图检索节点内的数据。换句话说,当它读取测试部分之后的第一部分时,它将读取:
slnc:DataSet
slnc:Group
slnc:Section
slnc:ActualAvailableToBorrow
*** here ***
slnc:oustandingLoans
这是我希望文本阅读器在节点中读取以下值的地方,例如confidentiality="F"
、currency="USD"
等,但它只是直接跳到下一节无需阅读这些值!
<slnc:actualAvailableToBorrow xmlns:slnc="http://www.newyorkfed.org/xml/schemas/SecLending"
confidentiality="F" currency="USD" decimals="0" method="AA"
multiplier="5" securityLendingType="AA" status="A" value="1474"/>
如何让文本阅读器读取属性值?打印值“currency”,然后是它的值:“F”,等等。
最佳答案
使用XmlTextReader.GetAttribute (MSDN)
case XmlNodeType.Element:
Console.WriteLine(textReader.Name);
Console.WriteLine(textReader.Value);
Console.WriteLine(textReader.GetAttribute("currency"));
此函数的一个很好的特性:如果属性未定义,它不会导致异常 - 它只会返回 Null
。
使用XmlTextReader.MoveToAttribute (MSDN)
结合使用 AttributeCount 属性和 MoveToAttribute:
case XmlNodeType.Element:
Console.WriteLine(textReader.Name);
Console.WriteLine(textReader.Value);
for (int attInd = 0; attInd < textReader.AttributeCount; attInd++){
textReader.MoveToAttribute( attInd );
Console.WriteLine(textReader.Name);
Console.WriteLine(textReader.Value);
}
textReader.MoveToElement();
关于c# - 使用 XmlReader 读取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105603/
我想将使用 .Net Compact Framework 3.5 制作的 Windows Mobile 应用程序降级到 .Net Compact Framework 2.0 SP2。 但是...我不知
我正在尝试从 xml 字符串中读取但是, ` XmlReader reader=XmlReader.Create(new StringReader(stringXml)` 读者总是没有。为什么没有
在以下代码段中,当我遇到一个元素时,使用 XmlReader。我想按原样阅读它,包括元素中的所有属性和命名空间装饰。使用 oXml.Name 属性,我只能获取标签名称。是否有获取标签本身的功能? oX
这可能是一个关于 XmlReader 的幼稚问题,但我还没有在 MSDN 文档中找到答案。 假设我有 XSD SchemaTest.xsd
我想做这样的事情: stringBuilder.AppendLine(" globalVar." + reader.GetAttribute(i).Name + " = " + reader[i]
使用 XMLReader 方法解析 XML 文件时,如何获取元素的父节点? $xml = new XMLReader(); $xml->XML($xmlString); while($xml->rea
这很奇怪。我有一个 WCF Message我正在尝试将正文的内容读入 XmlDocument。消息正文的内容在网络上看起来像这样(在打开 WCF 跟踪的情况下进行检查): (GMT-05:0
我有一个 Xml 文档,其中一些元素如下所示: W X Y Z ABC 我的目标是从上面的例子中得到“ABC”。我尝试查看 XmlElement 类中的 InnerText(返回“WXYZABC”
我有以下代码: for (i = 1; i <= loopsNeeded; i++) { lblCurrent.Text = string.Format("{0} of
我正在尝试将 xml 加载到 XDocument 对象中。 public void ValidateRules(XmlReader xml) { xml.MoveToContent();
我必须为我的商店解析 3 个远程 XML 文件(产品、价格、类别),其中最大的大约有 500MB+。我必须解析它们并插入到 mysql 数据库中。 我可以从两种格式中选择 所有 3 个 XML 文件压
我正在尝试使用 XMLReader ( https://github.com/amarcadet/XMLReader ) 在 objective-c 中制作一个将解析 xml 文档的应用程序:
代码如下: string str = "AppleMango"; using (XmlReader xmlReader = XmlReader.Create(new StringReader(str)
我了解我们如何使用如下代码示例.. public class Sample { public static void Main() { using (XmlReader
我正在使用 XmlReader 读取非常大的 XML 文件(超过 6GB 的数据)以加快一切速度并且工作得非常好。 我在另一个线程中执行此操作(不使用后台工作程序)并且我不知道如何更新进度条,因为 X
关注此introduction可以通过导入命名空间 System.Xml 来使用 XMLReader 类。在我的 Visual Studio 项目中,我使用 .NET 4.0,但 System.Xml
我正在使用以下代码使用 XmlReader 读取一些 XML: XmlReaderSettings settings = new XmlReaderSettings(); settings.Valid
好的,所以我有这个 XML 文件: Iron Repeater true 19 19 50 18 1 1 5 39
为什么我应该将 XMLReader 与 SAXParser 一起使用?我经常看到这种用法: sp = spf.newSAXParser(); XMLReader xr
我有这个 xml 文件。 8.582207 3 true
我是一名优秀的程序员,十分优秀!