C# 如何加载XML文档以显示为特定的输入格式
我目前正在尝试将一个XML文档加载到一个C程序中,以便可以将其作为soap请求发送 这是我试图引用的XML文档。它可能有无限多行C# 如何加载XML文档以显示为特定的输入格式,c#,xml,soap,C#,Xml,Soap,我目前正在尝试将一个XML文档加载到一个C程序中,以便可以将其作为soap请求发送 这是我试图引用的XML文档。它可能有无限多行 <?xml version="1.0" encoding="UTF-8" ?> <ROWSET> <ROW num="1"> <USER_ID></USER_ID> <FIRST_NAME>John</FIRST_NAME> <MIDDLE_NA
<?xml version="1.0" encoding="UTF-8" ?>
<ROWSET>
<ROW num="1">
<USER_ID></USER_ID>
<FIRST_NAME>John</FIRST_NAME>
<MIDDLE_NAME></MIDDLE_NAME>
<LAST_NAME>Doe</LAST_NAME>
<EMPLOYEE_NO>12345</EMPLOYEE_NO>
<HOME_PHONE></HOME_PHONE>
<EMPLOYEE_STATUS_>A</EMPLOYEE_STATUS_>
<HIRE_DATE>05/17/2010</HIRE_DATE>
<DEPARTMENT>Engineering</DEPARTMENT>
<POSITION>Controls Engineer</POSITION>
<SHIFT>N</SHIFT>
<REPORTS_TO>Everhart,Robert</REPORTS_TO>
<PAY_TYPE>H</PAY_TYPE>
<EMPLOYEE_TYPE>R</EMPLOYEE_TYPE>
<TERMINATION_DATE></TERMINATION_DATE>
<PCN_CODE>Company_RV</PCN_CODE>
</ROW>
<ROW num="2">
<USER_ID>RV12345</USER_ID>
<FIRST_NAME>Jane</FIRST_NAME>
<MIDDLE_NAME>G</MIDDLE_NAME>
<LAST_NAME>Doe</LAST_NAME>
<EMPLOYEE_NO>123455</EMPLOYEE_NO>
<HOME_PHONE></HOME_PHONE>
<EMPLOYEE_STATUS_>A</EMPLOYEE_STATUS_>
<HIRE_DATE>09/15/2008</HIRE_DATE>
<DEPARTMENT>Shipping</DEPARTMENT>
<POSITION>Shipping Coordinator</POSITION>
<SHIFT>2</SHIFT>
<REPORTS_TO>Hajkova,Karin</REPORTS_TO>
<PAY_TYPE>H</PAY_TYPE>
<EMPLOYEE_TYPE>R</EMPLOYEE_TYPE>
<TERMINATION_DATE></TERMINATION_DATE>
<PCN_CODE>Company_RV</PCN_CODE>
我需要将此文件格式化为:
<ResultSet>
<RowCount>1</RowCount>
<Rows>
<Row>
<Columns>
<Column>
<Value>jdoe</Value>
<Name>User_ID</Name>
</Column>
<Column>
<Value>John</Value>
<Name>FIRST_NAME</Name>
and so forth
加载xml文件并将其转换为正确格式后,包含xml数据的变量将被放入soap信封中。尝试将xsd工具与原始xml一起使用,以便创建类来序列化内存中的xml 然后使用XmlSerializer将所有内容放入memmory:
XmlSerializer serializer = new XmlSerializer(XmlClassTypeYouCreatedOnXsdTool);
XmlReader reader = new XmlTextReader(xml);
var instance = serializer.Deserialize(reader);
对要创建的输出xml表单使用相同的xsd工具,以形成另一个可序列化类
创建函数以将一个对象转换为另一个对象,然后将该对象发送到SOAP webreferences,或者使用相同的XmlSerializer并调用Serialize来生成SOAP消息的XML。您尝试过如何重新格式化该对象?当您尝试这样做时,您遇到了哪些错误?到目前为止,我还没有尝试重新格式化。我正在努力确定最好的解决办法是什么。这是我的第一个web服务项目,因此在我这方面一切都很新。如何指定模式使用名称/值对?*当涉及到C语言和格式化xml时,我是相当生疏的。用更简单的方法,你可能会创建一个类ResultColumn?具有两个属性:“名称”和“值”。这是更简单的方法。但同样,制作一个XML作为示例并运行xsd定制工具,您应该立即获得您的类!要使用此工具,请不要忘记运行Visual Studio命令提示符,否则将找不到xsd.exe工具。