C# 操作xml string

//PARS request xml
string xmlrequest = @"<?xml version=‘1.0‘ encoding=‘UTF-8‘?>
<Envelope xmlns:xsi=‘http://www.w3.org/2001/XMLSchema-instance‘ xsi:noNamespaceSchemaLocation=‘PARSRequest.xsd‘>
<Header>
<MessageSentDateTime>2008-05-09T19:28:54+08:00</MessageSentDateTime>
<MessageSequenceNumber>0</MessageSequenceNumber>
<MessageType>PARSRequest</MessageType>
<SourceSystemID>FIDS</SourceSystemID>
<DestinationSystemID>PA</DestinationSystemID>
<MessageOriginatorID>DCS</MessageOriginatorID>
<OriginatorDateTime>2008-05-09T19:28:54+08:00</OriginatorDateTime>
<MachineName></MachineName>
<LocalGate></LocalGate>
<UserName></UserName>
</Header>
<Body>
<PARSRequest>
<AnnouncementRepeatCount>2</AnnouncementRepeatCount>
<AnnouncementType>Boarding</AnnouncementType>
<AnnouncementZone>B</AnnouncementZone>
<FlightIdentity>CZ379</FlightIdentity>
<FlightRepeatCount>0</FlightRepeatCount>
<GateNumber>D62</GateNumber>
<ScheduledDate>2008-05-09+08:00</ScheduledDate>
<TerminalCode>2</TerminalCode>
</PARSRequest>
</Body>
</Envelope>";

private void btnPlay_Click(object sender, EventArgs e)
{

XmlDocument fltrequestDoc = new XmlDocument();
fltrequestDoc.LoadXml(xmlrequest);

//header
XmlNode nodeHeader = fltrequestDoc.SelectSingleNode("Envelope/Header");

nodeHeader.SelectSingleNode("MessageSentDateTime").InnerText = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
nodeHeader.SelectSingleNode("OriginatorDateTime").InnerText = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
nodeHeader.SelectSingleNode("MachineName").InnerText = frmParent.getMachinename();
nodeHeader.SelectSingleNode("LocalGate").InnerText = frmParent.getGate();
nodeHeader.SelectSingleNode("UserName").InnerText = frmParent.userloginedname;

//request
XmlNode nodeRequest = fltrequestDoc.SelectSingleNode("Envelope/Body/PARSRequest");

//request - play times
if (radioOnce.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementRepeatCount").InnerText = "1";
}
if (radioTwice.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementRepeatCount").InnerText = "2";
}
if (radioThreetimes.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementRepeatCount").InnerText = "3";
}

nodeRequest.SelectSingleNode("AnnouncementType").InnerText = anncType;

nodeRequest.SelectSingleNode("FlightIdentity").InnerText = frmParent.fltinfo.Trim(‘ ‘);

nodeRequest.SelectSingleNode("FlightRepeatCount").InnerText = "";

//request - zones
if (radioLocalgate.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementZone").InnerText = "A";
}
if (radioNearby.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementZone").InnerText = "B";
}
if (radioPublic.Checked == true)
{
nodeRequest.SelectSingleNode("AnnouncementZone").InnerText = "C";
}

//request - language
if (checkboxCN.Checked == true)
{
XmlElement eleLang1 = fltrequestDoc.CreateElement("AnnouncementLanguage");
eleLang1.InnerText = "Chinese";
nodeRequest.AppendChild(eleLang1);
}
if (checkboxEN.Checked == true)
{
XmlElement eleLang2 = fltrequestDoc.CreateElement("AnnouncementLanguage");
eleLang2.InnerText = "English";
nodeRequest.AppendChild(eleLang2);
}
if (checkboxFR.Checked == true)
{
XmlElement eleLang3 = fltrequestDoc.CreateElement("AnnouncementLanguage");
eleLang3.InnerText = "French";
nodeRequest.AppendChild(eleLang3);
}
if (checkboxJP.Checked == true)
{
XmlElement eleLang4 = fltrequestDoc.CreateElement("AnnouncementLanguage");
eleLang4.InnerText = "Japanese";
nodeRequest.AppendChild(eleLang4);
}
if (checkboxKO.Checked == true)
{
XmlElement eleLang5 = fltrequestDoc.CreateElement("AnnouncementLanguage");
eleLang5.InnerText = "Korean";
nodeRequest.AppendChild(eleLang5);
}

if (anncType != null)
{
frmParent.sendMsg(fltrequestDoc.OuterXml);
}
else
{
MessageBox.Show("请选择广播类型!");
}
}

时间: 2024-07-29 22:03:45

C# 操作xml string的相关文章

使用Dom4j操作XML数据

--------------siwuxie095 dom4j 是一个非常优秀的 Java XML 的 API, 用来读写 XML 文件 和操作 XML 数据 特点:性能优异.功能强大.极端易用 dom4j 的下载链接:http://www.dom4j.org/dom4j-1.6.1/ 将 dom4j-1.6.1.zip 解压一览: 工程名:TestDom4j 包名:com.siwuxie095.dom4j 类名:Test.java 打开资源管理器,在工程 TestDom4j 文件夹下,创建一个

dom4j操作xml对象

// 获取Documen对象 public static Document getDocument(String path) throws Exception{ // 解析器对象 SAXReader reader = new SAXReader(); // 解析 return reader.read(path); } // 回写(XMLWriter) public static void writeXml(Document document,String path) throws Excepti

简单操作XML

第一部分 什么是XML? XML, Extensible Markup Language ,可扩展标记语言,主要用途是描述和交换数据.它的一个用处是配置文件,用来保存数据库连接字符串.端口.IP.日志保存路径等参数.我们可以使用文本文件来保存文件,使用 key = value, key2 = value2 ,...... 的方式来保存数据.这样做的坏处是结构比较不规矩,读取起来也不方便,需要自行编写一长串的if / else 语句.为了解决这些问题,我们可以使用XML. XML定义了一组规则,即

C#操作XML增删改查

XML文件是一种常用的文件格式,不管是B/S还是C/S都随处可见XML的身影.Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具.XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用.微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件. “在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型

delphi操作xml学习笔记 之一 入门必读

Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocument把XML文档读到内存中,从而可以进行编辑.保存操作.TXMLDocument类是通过DOM(文档对象模型)接口来访问XML文档中的各个元素的.对于DOM接口的实现有多种方式,Delphi支持的方式有:1)微软的MSXML SDK,这种方式是通过COM对象来实现:2) Apache 的Xerces的实现方式

Delphi 操作 XML(一)

一.欢迎 本帮助文件提供从SimDesign BV的NativeXml组件的信息. 二.购买NativeXml! NativeXml现在是开源的,但支持是仅专门适用于购买NativeXml的客户. 您可以通过此链接购买NativeXml:http://www.simdesign.nl/xml.html 价格:29.95欧元 采购NativeXml的优势: 两年的通过电子邮件或特殊的"NativeXml Source"论坛支持,接收测试和修正,并从"NativeXml Sour

C#操作XML学习(一)

一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接

Java操作XML的JAXB工具

在java中操作XML的工作中中,比较方便的工具是JAXB(Java Architecture for XML Binding). 利用这个工具很方便生成XML的tag和Java类的对应关系.参照网上的资料,简单说明一下java操作xml的一些东西. 1.先定义一个XML Schema文件.比如: [html] view plain copy print? <?xml version="1.0" encoding="UTF-8" standalone=&quo

java操作XML文件

XML文件可以用来作为一种小型数据库存在,但更多时候在项目中都是用来当成配置文件用的,也就避免不了对XML文件的增上改查操作. 在java中,解析XML文件的方式大致分为两种:DOM解析,SAX解析 先来说DOM解析方式:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容. 用的较为多的是Dom4j工具(非官方)解析,简单介绍下Dom4j的使用,具体API文档请下载