首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中使用linq从xml文件中提取svg子html标签

如何在C#中使用linq从xml文件中提取svg子html标签
EN

Stack Overflow用户
提问于 2015-04-25 01:16:27
回答 1查看 964关注 0票数 0

我在MVC web项目中有一个xml文件,如下所示:

代码语言:javascript
运行
复制
<Navigation>

 <item>
   <CoreId>1010</CoreId> 
   <p>
   <svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
     <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
     <g>
       <title>Layer 1</title>
       <rect height="170" width="258" y="136.67" x="188" stroke-width="5" stroke="#000000" fill="#ff0000" id="svg_1"/>
     </g>
   </svg>
  </p>
   <Privilege>ADMIN</Privilege>
   <MenuID>10811010</MenuID>
   <ParentMenuID>1081</ParentMenuID>
   <ResourceKey>AP_Template</ResourceKey>
 </item>

并尝试用menuId == 10811010从项目中获取svg数据;

下面是我的C#代码:

代码语言:javascript
运行
复制
public string GetVPFCore(int vpfCore)
{
    VPFCore _localitem = new VPFCore();

    try
    {

        var element = from item in xmlController.Root.Descendants("item")
                      where (string)item.Element("MenuID") == vpfCore.ToString()
                      select new
                      {
                          _data = item.Element("p").ToString()
                      };
        foreach (var t in element)
        {

            _localitem.Data = t._data;
        }
        return _localitem.Data;

    }
    catch (Exception)
    {
        throw new IOException("The XML item was not found!");
    }

}

为什么我不能在不嵌入<p>标签的情况下获取svg数据。

该函数的作用范围是只提取没有<p>的svg数据,并将其注入到cshtml视图中。

EN

Stack Overflow用户

发布于 2015-04-25 01:24:30

如果想要访问svg元素,则需要考虑名称空间,因此定义

代码语言:javascript
运行
复制
XNamespace svg = "http://www.w3.org/2000/svg";

然后,item.Element("p").Element(svg + "svg")为您提供嵌入式SVG文档的根元素。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29853613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档