XML属性c#
问题描述:
我需要显示processingStatus和每个字段节点值及其相应的以下XML名称。XML属性c#
<?xml version="1.0" encoding="UTF-8"?>
<T24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.temenos.com/T24/OFSML/130" xsi:schemaLocation="http://www.temenos.com/T24/OFSML/130 ofsml13.xsd">
<serviceResponse>
<ofsTransactionProcessed application="FUNDS.TRANSFER" function="INPUT" operation="VALIDATE" processingStatus="OK" version="BOOK.TRAN.VAL.MCB">
<transactionId>FT15056T2QLP</transactionId>
<field mv="1" name="TRANSACTION.TYPE" sv="1">AC</field>
<field mv="1" name="CURRENCY.MKT.DR" sv="1">1</field>
<field mv="1" name="DEBIT.CURRENCY" sv="1">USD</field>
<field mv="1" name="DEBIT.AMOUNT" sv="1">125.00</field>
<field mv="1" name="DEBIT.VALUE.DATE" sv="1">20150225</field>
</ofsTransactionProcessed>
</serviceResponse>
</T24>
任何人都可以帮助我吗? 我的代码: 编辑的代码:
XmlTextReader reader = new XmlTextReader("XML03.xml");
Console.WriteLine(reader.Attributes["processingStatus"].Value);
while (reader.Read())
{
Console.WriteLine(reader.Value);
}
Console.ReadLine();
答
尝试XML LINQ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
var results = doc.Descendants().Where(x => x.Name.LocalName == "ofsTransactionProcessed").Select(x => new {
application = (string)x.Attribute("application"),
function = (string)x.Attribute("function"),
operation = (string)x.Attribute("operation"),
processingStatus = (string)x.Attribute("processingStatus"),
version = (string)x.Attribute("version"),
transactionId = x.Elements().Where(y => y.Name.LocalName == "transactionId").Select(z => (string)z).FirstOrDefault(),
fields = x.Elements().Where(y => y.Name.LocalName == "field").Select(z => new {
mv = (string)z.Attribute("mv"),
name = (string)z.Attribute("name"),
sv = (string)z.Attribute("sv"),
value = (string)z
}).ToList()
}).FirstOrDefault();
}
}
}
你有什么企图?任何搜索努力? – Steve
@Steve yes请参阅编辑 – velvt
现在请描述代码有什么问题以及输出/异常 – Steve