我有一个包含一些我想要操作的数据的String,所以我将它发送给执行此操作的函数。
我想在函数中进行操作后返回该字符串。
我设法做的是在操作后从包含正确内容的函数返回IEnumerable<XElement>
我试图从函数返回xmlElements.ToString();
,但它包含一些奇怪的字符串,而不是它自己的实际字符串。
renderedOutput = XML结构中的字符串
var xml = XElement.Parse(renderedOutput);
IEnumerable<XElement> xmlElements = xml.Descendants();
然后我将它发送给该功能(改变一些值)
xmlElements = SetAdditionalData(xmlElements, docIDs[i], i, orderID);// This is the place where i want to get a String in XML strcture
这只是函数功能的一个例子:
public IEnumerable<XElement> SetAdditionalData(IEnumerable<XElement> xmlElements, string docID, int i, string orderID)
{
foreach (var el in xmlElements)
{
// set country name from country iso
if (el.Name == "Country")
{
var isoC = el.Value.ToString().Trim();
if (isoC != string.Empty)
{
RegionInfo isoCode = new RegionInfo(isoC);
el.SetValue(isoCode.DisplayName);
}
continue;
}
}
return xmlElements; // tried to return xmlElements.ToSting(), but it didn't returned the right data
}
我正在努力实现这一目标:
xmlElements将包含操作后的字符串 - 意味着在SetAdditionalData()
设置一些额外数据之后
答案 0 :(得分:2)
也许
return String.Concat(xmlElements.Select(element => element.OuterXml));
为了它的价值我只会返回元素 - 这样功能只会做一件事,修改元素。然后,如果调用者需要一个字符串,它可以将元素转换为字符串。
答案 1 :(得分:0)
尝试以下选项: 如果内容是文本,则获取元素的内容:
xmlElements.Value
以XML格式获取元素的内容:
xmlElements.InnerXml
以XML格式获取元素及其内容:
xmlElements.OuterXml