相关疑难解决方法(0)

XML模式/命名空间

我经常在XML模式文件中看到类似下面的代码.据我所知,xmlns是定义一个新的命名空间.但是,跟随xmlns的长URL是否真的有必要?我的意思是程序,解析器,还是真正调用的,例如"http://www.springframework.org/schema/beans"?或者这条线就像这样:

<beans xmlns="beansNamespace">
Run Code Online (Sandbox Code Playgroud)

这是其中之一

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
    http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
    http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
"
>
Run Code Online (Sandbox Code Playgroud)

xml xsd xml-namespaces

4
推荐指数
1
解决办法
360
查看次数

targetNamespace和xmlns

页面w3schools 将以下内容作为一种模式声明形式.

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.w3schools.com"
           xmlns="http://www.w3schools.com"
           elementFormDefault="qualified">
...
...
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

这里,

targetNamespace定义了正在定义的XML文档的名称空间 - 可以在"this"XSD中定义的XML文档中使用哪些标记(元素)和哪些属性.

xmlns=http://www.w3schools.com/schema/schema_schema.asp
Run Code Online (Sandbox Code Playgroud)

另一方面,正在为XML文档中的名称定义默认名称空间 - 那些未在"this"XSD(?)上定义的名称,因此,解析器首先查找targetNamespace中声明的名称空间.如果它找不到那里的名字,继续尝试下一个xmlns(?)

如果我跳过上面架构声明中的targetNamespace属性,我究竟会错过什么?虽然我有xmlns,但targetNamespace对我来说是多余的,因为它们指的是同一个命名空间.

我错过了什么?

注意:我已经看到XML中的"xmlns"是什么意思?在其他一些讨论中.

xml xsd xml-namespaces

3
推荐指数
3
解决办法
5149
查看次数

wpf MvvM Command数据上下文问题

我用谷歌搜索,但找不到我想要的东西.我有几个问题......

这是我的代码结构:

我的命令类:

 public class BrowseCommand : ICommand 
 {
   //Code here
 }
Run Code Online (Sandbox Code Playgroud)

在ViewModel中:

public class ExampleViewModel
{
    public ExampleViewModel()
    {
        BrowseCommand = new BrowseCommand();
    }

    public ICommand BrowseCommand
    {
        get;
        private set;
    }
  //More Code...
}
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml.cs:

 public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new ExampleViewModel();
    }
}
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml:

Window x:Class="Ship32RcParser.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" >

   <Grid>
       <Button  Content="Browse" Command="{Binding BrowseCommand}"/>
       <Button  Content="Search" Command="{Binding I_NEED_HELP_HERE}"  />
   </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)



我知道我的浏览工作正常,因为MainWindow.xaml.cs有

DataContext = new ExampleViewModel(); …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm model-binding command-pattern

0
推荐指数
1
解决办法
1万
查看次数

Python-查找元素树

我有一个看起来像这样的xml字符串:

我正在使用元素树库

<?xml version="1.0" encoding="UTF-8"?>
<GetCategoriesResponse xmlns="urn:ebay:apis:eBLBaseComponents"><CategoryArray><Category><WantedParm1>true</WantedParm1><UnwantedParm1>true</UnwantedParm1><WantedParm2>20081</WantedParm2></Category></CategoryArray></GetCategoriesResponse>
Run Code Online (Sandbox Code Playgroud)

我想获取“类别节点”的一些值,我们将其称为“通缉参数1和2”。但是,我收到AttributeError的原因可能是因为我编写的代码无法找到“类别”项的子节点。

AttributeError:'NoneType'对象没有属性'text'。

import xml.etree.ElementTree as ET
XML = #Above Code in String
tree = ET.ElementTree(ET.fromstring(XML))
root = tree.getroot()
for Category in root[0]:
    one = Category.find("WantedParm1").text
    two = Category.find("WantedParm2").text
    print(one, two)
Run Code Online (Sandbox Code Playgroud)

python xml

0
推荐指数
1
解决办法
1617
查看次数

标签 统计

xml ×3

xml-namespaces ×2

xsd ×2

c# ×1

command-pattern ×1

model-binding ×1

mvvm ×1

python ×1

wpf ×1