字符串串联-失败 [英] String Concatenation - Failed
问题描述
你好
我正在开发点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屋!