标签: xml-attribute

解析XML布尔属性(在.NET中)的最佳方法是什么?

声明为xs:boolean的XML属性可以接受为"true","false","0"或"1".但是,在.NET中,Boolean.Parse()只接受"true"或"false".如果它看到"0"或"1",则抛出"Bad Format"异常.

那么,鉴于此,将这样的值解析为布尔值的最佳方法是什么?

(不幸的是,我只限于.NET 2.0解决方案,但如果v3.5提供了一些东西,我很乐意听到它.)

.net xml boolean xml-attribute .net-2.0

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

错误:在Android中使用两个库项目时,已经定义了属性"***"

我在我的Android项目中使用android-support-v7-appcompat作为库.现在我想将actionbarsherlock包含为另一个库项目.当我添加第二个库时,它会产生如下许多错误

android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined
Run Code Online (Sandbox Code Playgroud)

通过更改一个属性值,它的相关代码片段是我尝试过的一个解决方案.但是当上面有近80条线路时,它会变得凌乱.还有其他方法可以解决这个问题吗?

android xml-attribute actionbarsherlock android-support-library

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

如何使用java获取xml节点的属性值

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

{ <xml><ep><source type="xml">...</source><source type="text">..</source></ep></xml>}
Run Code Online (Sandbox Code Playgroud)

在这里,我想检索"源类型"的值,其中类型s属性.

我试过这样,但它不起作用:

 DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
                try {
                    DocumentBuilder builder = domFactory.newDocumentBuilder();
                    Document dDoc = builder.parse("D:/workspace1/ereader/src/main/webapp/configurations/config.xml");
                    System.out.println(dDoc);
                    XPath xPath = XPathFactory.newInstance().newXPath();
                    Node node = (Node) xPath.evaluate("//xml/source/@type/text()", dDoc, XPathConstants.NODE);
                    System.out.println(node);
                } catch (Exception e) {
                    e.printStackTrace();
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            InputSource is = new InputSource(new StringReader("config.xml"));
            Document doc = builder.parse(is);

            NodeList nodeList = doc.getElementsByTagName("source");

            for (int i = 0; i < nodeList.getLength(); i++) {                
                Node node = nodeList.item(i);

                if (node.hasAttributes()) { …
Run Code Online (Sandbox Code Playgroud)

java xml xmlnode xml-attribute

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

如何在C#中序列化期间为数组赋予属性?

我正在尝试生成C#,它会像这样创建一个XML片段.

<device_list type="list">
    <item type="MAC">11:22:33:44:55:66:77:88</item>
    <item type="MAC">11:22:33:44:55:66:77:89</item>
    <item type="MAC">11:22:33:44:55:66:77:8A</item>
</device_list>
Run Code Online (Sandbox Code Playgroud)

我在考虑使用这样的东西:

[XmlArray( "device_list" ), XmlArrayItem("item")]
public ListItem[] device_list { get; set; }
Run Code Online (Sandbox Code Playgroud)

作为属性,具有此类声明:

public class ListItem {
    [XmlAttribute]
    public string type { get; set; }

    [XmlText]
    public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这给了我内部序列化,但我不知道如何将type="list"属性应用于device_list上面.

我正在考虑(但不确定如何编写语法)我需要做的事情:

public class DeviceList {
    [XmlAttribute]
    public string type { get; set; }

    [XmlArray]
    public ListItem[] .... This is where I get lost
}
Run Code Online (Sandbox Code Playgroud)

根据Dave的回复进行了更新

public class DeviceList : List<ListItem> { …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization xml-attribute

16
推荐指数
1
解决办法
7958
查看次数

使用SAX Parser,获取属性的值

我正在使用Android从Web解析XML.下面的代码显示了XML的示例.我遇到的问题是我无法获取item标签的字符串值.当我使用name = attributes.getQName(i);它时输出名称,而不是属性的值.

<weatherdata>
 <timetags>
  <item name="date">
   <value>20/04/2012</value>
   <unit/>
   <image/>
   <class>dynamic</class>
   <description>The current date</description>
  </item>
Run Code Online (Sandbox Code Playgroud)

java xml android xml-attribute saxparser

15
推荐指数
2
解决办法
3万
查看次数

如何在XML模式中执行互斥属性?

我正在尝试使两个XML属性互斥.如何创建XSD架构来捕获这种场景?

我想要其中一个

<elem value="1" />
<elem ref="something else" />
Run Code Online (Sandbox Code Playgroud)

但不是

<elem value="1" ref="something else" />
Run Code Online (Sandbox Code Playgroud)

xml schema xsd xml-attribute

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

获取Python中的XML属性值列表

我需要从Python中的子元素中获取属性值列表.

用一个例子来解释是最容易的.

给出一些像这样的XML:

<elements>
    <parent name="CategoryA">
        <child value="a1"/>
        <child value="a2"/>
        <child value="a3"/>
    </parent>
    <parent name="CategoryB">
        <child value="b1"/>
        <child value="b2"/>
        <child value="b3"/>
    </parent>
</elements>
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这样的事情:

>>> getValues("CategoryA")
['a1', 'a2', 'a3']
>>> getValues("CategoryB")
['b1', 'b2', 'b3']
Run Code Online (Sandbox Code Playgroud)

它看起来像XPath的工作,但我对所有建议持开放态度.我也想听听你最喜欢的Python XML库.

python xml xpath parent-child xml-attribute

13
推荐指数
2
解决办法
3万
查看次数

XmlAttribute/XmlText不能用于编码复杂类型

我在下面的类中收到以下错误:

无法序列化DataObjects.Ingredient类型的成员'Ingredient'.XmlAttribute/XmlText不能用于编码复杂类型.

有什么想法为什么?

[DataContract]
[Serializable]
[XmlRoot("ingredient")]
public class Ingredient
{
    private string id;
    private string name;
    private string description;

    private IngredientNutrient[] nutrients;

    public Ingredient(string id, string name, string description, IngredientNutrient[] nutrients)
    {
        this.id = id;
        this.name = name;
        this.description = description;
        this.nutrients = nutrients;
    }

    public Ingredient(string id, string name, string description)
    {
        this.id = id;
        this.name = name;
        this.description = description;
    }

    public Ingredient()
    {

    }

    [DataMember]
    [XmlAttribute("id")]
    public string ID
    {
        get { return this.id; }
        set { …
Run Code Online (Sandbox Code Playgroud)

xml-attribute complextype

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

如何使Android自组件并从jar库中使用它?

我正在尝试创建一个可以作为jar库轻松添加到android项目的android组件.

为此,我必须在"res/values/attr.xml"中创建新的xml属性,我使用路径添加到我的图形xml元素:

 xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"
Run Code Online (Sandbox Code Playgroud)

然后我将这个项目作为jar库导入另一个项目.要在新项目中创建我的图形组件,我必须更改以下路径:

 xmlns:app="http://schemas.android.com/apk/res/com.mylibrary"
Run Code Online (Sandbox Code Playgroud)

但路径不正确:找不到自定义属性.

我设法将R文件集成到库jar中,我可以从我的xml访问它来声明一个自定义组件,如下所示:

<PreferenceScreen
  xmlns:android = "http://schemas.android.com/apk/res/android"
 xmlns:app = "http://schemas.android.com/apk/res/com.myLibraryPackage">

<com.myLibraryPackage.mySelfComponent
     android:title="Name"
     android:key="name"
     app:hintText="Input your name"
     android:dialogTitle="Your name "
     app:validator="com.myLibraryPackage.myValidatorClass" />
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我将文件attr.xml放在项目的资源中,它就可以工作,这意味着它找到了com.myLibraryPackage.mySelfComponent.在那种情况下,为什么它也找不到com.myLibraryPackage?

(我也试过更换

xmlns:app="http://schemas.android.com/apk/res/com.myLibraryPackage"
Run Code Online (Sandbox Code Playgroud)

通过

xmlns:app="http://schemas.android.com/apk/res/com.myApplicationPackage"
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作)

我宁愿使用jar来促进它在项目中的集成!

有没有人遇到这样的问题谁可以帮助我?

谢谢.

xml android xml-attribute android-widget android-layout

10
推荐指数
1
解决办法
2925
查看次数

Golang:如何用冒号解组XML属性?

我正在使用的一些SVG/XML文件在属性名称中包含破折号和冒号 - 例如:

<g>
  <a xlink:href="http://example.com" data-bind="121">...</a>
</g>
Run Code Online (Sandbox Code Playgroud)

我试图找出如何使用解组这些属性golangencoding/xml包.虽然虚线属性有效,但带冒号的属性不起作用:

[ 见这里的实例 ]

package main

import (
    "encoding/xml"
    "fmt"
)

var data = `
<g>
    <a xlink:href="http://example.com" data-bind="121">lala</a>
</g>
`

type Anchor struct {
    DataBind  int    `xml:"data-bind,attr"`  // this works
    XlinkHref string `xml:"xlink:href,attr"` // this fails
}

type Group struct {
    A Anchor `xml:"a"`
}

func main() {
    group := Group{}
    _ = xml.Unmarshal([]byte(data), &group)

    fmt.Printf("%#v\n", group.A)
}
Run Code Online (Sandbox Code Playgroud)

这些看似合法的属性名称; 任何想法如何提取xlink:href一个?谢谢.

xml-attribute go xml-parsing

9
推荐指数
1
解决办法
7278
查看次数