字符串串联-失败 [英] String Concatenation - Failed

查看:59
本文介绍了字符串串联-失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

我正在开发点Net Framework 3.5中的应用程序,我正在从TCP套接字读取XML响应,并希望读取该xml节点的值,但是如您所见,我没有得到想要的XML响应以获取节点值,所以我竭力做到 获取值

I am developing applicaed tion in dot Net Framework 3.5 I which i am reading XML response from TCP socket and want to read values of that xml nodes but as you can see I am not getting xml response as wanted for getting node values so i devided to make and get the values

我得到的回应

<?xml version ="1.0" encoding ="UTF-16"?>
< Params product ="22">< Col id ="PrintInformation" flags ="7"< Sta id ="Busy". flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id ="Powered". flags ="262". stateType ="OffOn"; max ="1"> 0 </Sta> <num id ="PrintSpeed". flags ="519" numType ="NumMillimetres". min ="1" max ="5000"> 300/Num ID ="MaximumSpeed". flags ="262". numType ="NumSpeed"; min ="0" max ="5000" def ="500"> 500/Num <Sta id ="HeadAttached". flags ="262". stateType =否". max ="1"> 1/Sta <Evt id ="PrintStarted". flags ="258"/"Evt id ="PrintAborted".标志="258"/<Sta id ="PrintDensity". flags ="519" stateType ="ImageResolutionBPP"; max ="11"> 0 </Sta> <Sta id ="PrintingImage". flags ="262". stateType =否". max ="1"> 0 </Sta> Evt id ="PrintCompleted". flags ="258"/< Sta id ="PrintDirection". flags ="262". stateType =方向". max ="1"> 0 </Sta> <Sta id ="CartridgeInserted" flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id ="GroupPrintheadMap". flags ="262". max ="15"> 1/Sta <Num id ="MaximumPrintDrift". flags ="519" numType =" NumTent

<?xml version="1.0" encoding="UTF-16"?>
<Params product="22"><Col id="PrintInformation" flags="7"><Sta id="Busy" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="Powered" flags="262" stateType="OffOn" max="1">0</Sta><Num id="PrintSpeed" flags="519" numType="NumMillimetres" min="1" max="5000">300</Num><Num id="MaximumSpeed" flags="262" numType="NumSpeed" min="0" max="5000" def="500">500</Num><Sta id="HeadAttached" flags="262" stateType="NoYes" max="1">1</Sta><Evt id="PrintStarted" flags="258"/><Evt id="PrintAborted" flags="258"/><Sta id="PrintDensity" flags="519" stateType="ImageResolutionBPP" max="11">0</Sta><Sta id="PrintingImage" flags="262" stateType="NoYes" max="1">0</Sta><Evt id="PrintCompleted" flags="258"/><Sta id="PrintDirection" flags="262" stateType="Direction" max="1">0</Sta><Sta id="CartridgeInserted" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="GroupPrintheadMap" flags="262" max="15">1</Sta><Num id="MaximumPrintDrift" flags="519" numType="NumTent

删除一些字符串后

< Sta id =忙" flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id ="Powered". flags ="262". stateType ="OffOn"; max ="1"> 0 </Sta> <num id ="PrintSpeed". flags ="519" numType ="NumMillimetres". min ="1" max ="5000"> 300/Num ID ="MaximumSpeed". flags ="262". numType ="NumSpeed"; min ="0" max ="5000" def ="500"> 500/Num< Sta id ="HeadAttached" flags ="262". stateType =否". max ="1"> 1/Sta <Evt id ="PrintStarted". flags ="258"/"Evt id ="PrintAborted".标志="258"/<Sta id ="PrintDensity". flags ="519" stateType ="ImageResolutionBPP"; max ="11"> 0 </Sta> <Sta id ="PrintingImage". flags ="262". stateType =否". max ="1"> 0 </Sta> Evt id ="PrintCompleted". flags ="258"/< Sta id ="PrintDirection". flags ="262". stateType =方向". max ="1"> 0 </Sta> <Sta id ="CartridgeInserted". flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id =" GroupPrintheadMap" flags ="262". max ="15"> 1</Sta>

<Sta id="Busy" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="Powered" flags="262" stateType="OffOn" max="1">0</Sta><Num id="PrintSpeed" flags="519" numType="NumMillimetres" min="1" max="5000">300</Num><Num id="MaximumSpeed" flags="262" numType="NumSpeed" min="0" max="5000" def="500">500</Num><Sta id="HeadAttached" flags="262" stateType="NoYes" max="1">1</Sta><Evt id="PrintStarted" flags="258"/><Evt id="PrintAborted" flags="258"/><Sta id="PrintDensity" flags="519" stateType="ImageResolutionBPP" max="11">0</Sta><Sta id="PrintingImage" flags="262" stateType="NoYes" max="1">0</Sta><Evt id="PrintCompleted" flags="258"/><Sta id="PrintDirection" flags="262" stateType="Direction" max="1">0</Sta><Sta id="CartridgeInserted" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="GroupPrintheadMap" flags="262" max="15">1</Sta>

现在通过串联希望将根元素添加到上述字符串中

Now through concatenation wanted to add root elements to above string

<包装器>

<Wrapper>

< Sta id =忙" flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id ="Powered". flags ="262". stateType ="OffOn"; max ="1"> 0 </Sta> <num id ="PrintSpeed". flags ="519" numType ="NumMillimetres". min ="1" max ="5000"> 300/Num ID ="MaximumSpeed". flags ="262". numType ="NumSpeed"; min ="0" max ="5000" def ="500"> 500/Num< Sta id ="HeadAttached" flags ="262". stateType =否". max ="1"> 1/Sta <Evt id ="PrintStarted". flags ="258"/"Evt id ="PrintAborted".标志="258"/<Sta id ="PrintDensity". flags ="519" stateType ="ImageResolutionBPP"; max ="11"> 0 </Sta> <Sta id ="PrintingImage". flags ="262". stateType =否". max ="1"> 0 </Sta> Evt id ="PrintCompleted". flags ="258"/< Sta id ="PrintDirection". flags ="262". stateType =方向". max ="1"> 0 </Sta> <Sta id ="CartridgeInserted". flags ="262". stateType =否". max ="1"> 0 </Sta> <Sta id =" GroupPrintheadMap" flags ="262". max ="15"> 1</Sta>

<Sta id="Busy" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="Powered" flags="262" stateType="OffOn" max="1">0</Sta><Num id="PrintSpeed" flags="519" numType="NumMillimetres" min="1" max="5000">300</Num><Num id="MaximumSpeed" flags="262" numType="NumSpeed" min="0" max="5000" def="500">500</Num><Sta id="HeadAttached" flags="262" stateType="NoYes" max="1">1</Sta><Evt id="PrintStarted" flags="258"/><Evt id="PrintAborted" flags="258"/><Sta id="PrintDensity" flags="519" stateType="ImageResolutionBPP" max="11">0</Sta><Sta id="PrintingImage" flags="262" stateType="NoYes" max="1">0</Sta><Evt id="PrintCompleted" flags="258"/><Sta id="PrintDirection" flags="262" stateType="Direction" max="1">0</Sta><Sta id="CartridgeInserted" flags="262" stateType="NoYes" max="1">0</Sta><Sta id="GroupPrintheadMap" flags="262" max="15">1</Sta>

</包装器>

但是在这种情况下,字符串没有在末尾串联在一起,这意味着</Wrapper>没有被添加.

But in this case string is not getting concatenated at the end means </Wrapper> is not getting added.

 string xmlText = class_responsestring;
                    MessageBox.Show(xmlText);
                    string first = xmlText.Replace(@"<?xml version=""1.0"" encoding=""UTF-16""?>", "");
                    MessageBox.Show(first);
                    string Second = first.Replace(@"<Params product=""22"">", "");
                    MessageBox.Show(Second);
                    string third = Second.Replace(@"<Col id=""PrintInformation"" flags=""7"">", "");
                    MessageBox.Show(third);
                    string fourth = third.Replace(@"<Num id=""MaximumPrintDrift"" flags=""519"" numType=""NumTent", "");
                    Read_PrintSpeed =   "<Wrapper>" +  fourth + "</Wrapper>";

推荐答案

似乎在代码块中您缺少+

Seems from the code block you are missing a +

尝试一下

Read_PrintSpeed = "<Wrapper>" + fourth + "</Wrapper>";


这篇关于字符串串联-失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆