[英]Load XML file add Values and Save
我有一个XML文件,我们正在AS400中使用systemlink。 我有可用的XML文件,如果我只是在按钮上单击加载文档,它将把硬编码值写入数据库。 但是,我想修补文本框中的值。这是我的XML:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE System-Link SYSTEM 'SystemLinkRequest.dtd'>
<System-Link>
<Login userId='' password='' maxIdle='900000'
properties='com.pjx.cas.domain.EnvironmentId=RN,
com.pjx.cas.domain.SystemName=,
com.pjx.cas.user.LanguageId=en'/>
<Request sessionHandle='*current' workHandle='*new'
broker='EJB' maxIdle='1000'>
<Create name='newObject_ITItemLocation_Default' domainClass='EXT0149' retainResult='false'>
<ApplyTemplate clientClass='EXT0149'>
<![CDATA[Asset]]>
</ApplyTemplate>
<DomainEntity>
<Property path='ponum'>
<Value><![CDATA[P21851]]></Value>
</Property>
<Property path='itmnbr'>
<Value><![CDATA[909520]]></Value>
</Property>
<Property path='itmcls'>
<Value><![CDATA[1]]></Value>
</Property>
<Property path='itmloc'>
<Value><![CDATA[1]]></Value>
</Property>
<Property path='srnum'>
<Value><![CDATA[]]></Value>
</Property>
</DomainEntity>
</Create>
这是我的C#:
enterXmlDocument document = new XmlDocument();
document.Load(Server.MapPath("~/addNew.xml"));
XmlElement po = document.GetElementById("ponum");
po.Value = poTextBox.Text;
document.Save(Server.MapPath("~/addNew.xml"));
每次尝试运行它时,都会得到一个找不到的对象,因此我猜测它找不到Ponum字段。 我想在当前为P21851的地方修补poTextBox.Text。 就像我说的那样,如果有任何建议,只要按一下即可完成操作。单击加载后,它将写入数据库就好了,我只想修补我的值。
为什么不使用序列化将xml转换为对象,以便可以执行所需的操作? 你有xsd吗?
决定采用其他方法,只是将其放入字符串中,然后执行HttpWebRequest,这样我就可以将值插入到字符串中。 感谢您有一天的答案,我将弄乱如何在XML文档中实现该功能。
string asset = "<?xml version='1.0' encoding='UTF-8'?>" + "<!DOCTYPE System-Link SYSTEM 'SystemLinkRequest.dtd'>" + "<System-Link>" + "<Login userId='' password='' maxIdle='900000' properties='com.pjx.cas.domain.EnvironmentId=RN, com.pjx.cas.domain.SystemName=,com.pjx.cas.user.LanguageId=en'/>" + "<Request sessionHandle='*current' workHandle='*new' broker='EJB' maxIdle='1000'>" + "<Create name='newObject_ITItemLocation_Default' domainClass='EXT0149' retainResult='false'>" + "<ApplyTemplate clientClass='EXT0149'>" + "<![CDATA[Asset]]>" + "</ApplyTemplate>" + "<DomainEntity>" + "<Property path='ponum'><Value><![CDATA[" + poTextBox.Text + "]]></Value></Property>" + "<Property path='itmnbr'><Value><![CDATA[" + itemNoTextBox.Text + "]]></Value></Property>" + "<Property path='itmcls'><Value><![CDATA[" + classDropDown.SelectedValue +"]]></Value></Property>" + "<Property path='itmloc'><Value><![CDATA[" + locationDropDown.SelectedValue + "]]></Value></Property>" + "<Property path='srnum'><Value><![CDATA["+ serialTextBox.Text +"]]></Value></Property>" + "</DomainEntity>" + "</Create>" + "</Request>" + "</System-Link>";
String wRequestString = "SystemLinkRequest=" + HttpUtility.UrlEncode(asset);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.