c#如何解析如下类型的xml

jojoova 2012-07-02 09:19:06
<Request>
<Tars>
<TarItemInfo>
<ArcimRowId>1||1</ArcimRowId>
<ArcimCode>00420</ArcimCode>
<ArcimName>布洛芬片[0.1G 100片/瓶]</ArcimName>
</TarItemInfo>
<TarItemInfo>
<ArcimRowId>2||1</ArcimRowId>
<ArcimCode>00586</ArcimCode>
<ArcimName>赛德萨(阿糖胞苷粉针)[0.1G/西林]</ArcimName>
</TarItemInfo>
</Tars>
</Request>
这里面相当于有两条数据,我需要解析并存入到表,该如何解析?
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk5595 2012-07-12
  • 打赏
  • 举报
回复
用 xml反序列化。
myrroom 2012-07-10
  • 打赏
  • 举报
回复
最简单的方法是用dataset
vipwan 2012-07-09
  • 打赏
  • 举报
回复
给你一个 Linq 的简单实现:

class Program
{
static void Main(string[] args)
{
var dataStr =
@"
<Request>
<Tars>
<TarItemInfo>
<ArcimRowId>1||1</ArcimRowId>
<ArcimCode>00420</ArcimCode>
<ArcimName>布洛芬片[0.1G 100片/瓶]</ArcimName>
</TarItemInfo>
<TarItemInfo>
<ArcimRowId>2||1</ArcimRowId>
<ArcimCode>00586</ArcimCode>
<ArcimName>赛德萨(阿糖胞苷粉针)[0.1G/西林]</ArcimName>
</TarItemInfo>
</Tars>
</Request>
";
var doc = XDocument.Parse(dataStr);
var infos = from a in doc.Elements().First().Elements().First().Elements()
select new
{
ArcimRowId = a.Element(XName.Get("ArcimRowId")).Value,
ArcimCode = a.Element(XName.Get("ArcimCode")).Value,
ArcimName = a.Element(XName.Get("ArcimName")).Value
};

foreach (var info in infos)
{
Console.WriteLine(info.ArcimRowId);
Console.WriteLine(info.ArcimName);
Console.WriteLine(info.ArcimCode);
//你需要做的事情~
}

Console.Read();




}
}
熙风 2012-07-05
  • 打赏
  • 举报
回复
 /// <summary>
/// 获取XML数据库中的数据的方法
/// </summary>
/// <param name="strFilePath">传入文件路径</param>
/// <returns>返回一个数据集</returns>
public static DataSet GetAllDataFromXML(string strFilePath)
{
DataSet ds = new DataSet();
FileInfo fileInfo = new FileInfo(strFilePath);
if (fileInfo.Exists)
{
try
{
ds.ReadXml(strFilePath);
}
catch { }
}
else
{
ds = null;
}
if (ds != null)
{
if (ds.Tables[0].Rows.Count < 1)
ds = null;
}
return ds;
}
书呆子 2012-07-05
  • 打赏
  • 举报
回复
可以选择 反序列化 也可以使用c#直接读取xml节点 正解
rayyu1989 2012-07-03
  • 打赏
  • 举报
回复
第三种选项

正则
xmhxjjq 2012-07-03
  • 打赏
  • 举报
回复
反序列化。
或者建立与之对应的类或者属性来接收这些参数。

C#读xml节点也是可行的- -
天下如山 2012-07-02
  • 打赏
  • 举报
回复
可以选择 反序列化 也可以使用c#直接读取xml节点

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧