使用Linq解析xml,导入命名空间。仍然无法正确读取xml,为什么?

时间:2013-02-18 06:37:17

标签: xml vb.net linq xml-namespaces

我的语言是asp.net。我使用Linq来解析xml文件。但是这个xml文件已经设置了命名空间。 在加载xml文件之前。我尝试导入xml命名空间。但仍无法正确解析xml。

Imports <xmlns="abc">

<html>
<head>
<title>Do-Life</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../img/css.css" rel="stylesheet" type="text/css">
<script runat="server">
Sub Page_Load(ByVal sender as Object, ByVal e as System.EventArgs)
    If not isPostBack Then
....
Dim TYPINFO As XElement = XElement.Load(server.MapPath(filename))
    Dim tinfos As IEnumerable(Of XElement)      
    tinfos = From tf In TYPINFO...<typhinfo> Select tf
....
....    

xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<cwbtyphfcst xmlns="abc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cwb.wfc.typhoonfcstCE/namespace typhooninfor.xsd">
<announcement>
    ...

1 个答案:

答案 0 :(得分:1)

我知道这个问题。

如果我将xml内容修改为

<?xml version="1.0" encoding="UTF-8"?>
<cwbtyphfcst xmlns:ns="abc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cwb.wfc.typhoonfcstCE/namespace typhooninfor.xsd">
<announcement>
...

将名称空间前缀名称标识为“ns”

并将名称空间导入为

Imports <xmlns:ns="abc">

最后,linq正在努力工作。