【发布时间】:2012-02-13 10:34:17
【问题描述】:
我的字符串中包含以下 xml,并且我使用的是 c# 2.0
string strXML ="<?xml version="1.0"?>
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ErrorCode="80040329" Category="17" Source="Kernel" Severity="2">
<tcm:Line ErrorCode="80040329" Cause="false" MessageID="16137">
<![CDATA[Unable to save Keyword (tcm:0-0-0).]]><tcm:Token>RESID_4574</tcm:Token><tcm:Token>RESID_15309</tcm:Token><tcm:Token>tcm:0-0-0</tcm:Token>
</tcm:Line>
<tcm:Line ErrorCode="80040329" Cause="true" MessageID="15200">
<![CDATA[Name must be unique for items of type: Keyword within this Category and its BluePrint context. Source or sources of conflict: tcm:236-215788-1024,tcm:237-215788-1024,tcm:241-215788-1024,tcm:243-215788-1024,tcm:423-215788-1024.]]><tcm:Token>RESID_15214</tcm:Token><tcm:Token>RESID_15309</tcm:Token><tcm:Token>RESID_15293</tcm:Token><tcm:Token>tcm:236-215788-1024,tcm:237-215788-1024,tcm:241-215788-1024,tcm:243-215788-1024,tcm:423-215788-1024</tcm:Token>
</tcm:Line>
<tcm:Details>
<tcm:CallStack>
<tcm:Location>UtilitiesBL.AssertUniqueTitle</tcm:Location>
<tcm:Location>UtilitiesBL.AssertUniqueTitle</tcm:Location>
<tcm:Location>KeywordBL.Create</tcm:Location>
<tcm:Location>XMLState.Save</tcm:Location>
<tcm:Location>Keyword.Save</tcm:Location>
</tcm:CallStack>
</tcm:Details>
</tcm:Error>"
现在我想写一个函数,它首先检查字符串strXML中是否有xml节点节点,如果没有这样的节点则返回“有效”,否则我的函数将返回从上面的xml中获取的字符串值。
所以我的返回结果将是“无法保存关键字 (tcm:0-0-0)。对于以下类型的项目,名称必须是唯一的:此类别中的关键字及其蓝图上下文。来源或冲突来源: tcm:236-215788-1024,tcm:237-215788-1024,tcm:241-215788-1024,tcm:243-215788-1024,tcm:423-215788-1024.”,这些文字是在 XML 中。
请推荐!!
谢谢。
MS
【问题讨论】:
标签: c# .net xml xpath xmldocument