XMLSerializer를 사용하여 내부 속성에 액세스

미친

XmlSerializer 클래스를 사용하여 XML 파일을 직렬화하려고합니다. Xml 구조는 다음과 같습니다.

<?xml version="1.0"?>
<Datatable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Assets>
    <A_elements>
      <A_el ID="1">
        <Fields>
          <Field Hint="First field">
             <Title> A_field </Title>
             <Value> 111 </Value>
          </Field>
          <Field Hint="Second field">
             <Title> B_field </Title>
             <Value> 222 </Value>
          </Field>
          .....
          .....
        </Fields>
      </A_el>
    </A_elements>
  </Assets>
</Datatable>

[XmlElement ( "")]를 지정할 때 필드 값에 액세스하려면 어떻게해야합니까?

예를 들어,이 xml에서로드 된 내 C # 개체를 다음과 같이 읽을 수 있기를 원합니다. LoadedObject.Assets.A_elements[0].A_field

위 코드의 출력은 "111"이어야합니다.

이 프로브를 이런 식으로 해결하려고합니다.

[XmlRoot("Assets"), Serializable]
    public class Assets
    {
        [XmlElement("A_elements")]
        public Actors actors { get; set; }
    }

public class A_elements
{
    [XmlElement("A_elements")]
    public List<A_el> A_elList { get; set; }
}


public class A_el
{
    [XmlAttribute("ID")]
    public int id { get; set; }
    [------??????------]
    public string A_field { get; set; }
}

필드에는 고유 식별자가 없으며 모든 요소에 많은 필드가 있습니다. 도움을 주시면 감사하겠습니다.

미리 감사드립니다.

이블 도그 파이

A_el 클래스에 Field [] Fields 멤버를 만들고 Hint, Title 및 Value 멤버가있는 해당 Field 클래스를 만듭니다.

public class A_el
{
    [System.Xml.Serialization.XmlAttribute("ID")]
    public int id { get; set; }

    [System.Xml.Serialization.XmlArray(ElementName = "Fields")]
    [System.Xml.Serialization.XmlArrayItem("Field", typeof(Field))]
    public Field[] Fields { get; set; }

    private string[] _A_elements;
    private string[] A_elements
    {
        get
        {
            if(null == _A_elements)
            {
                _A_elements = (from field in Fields select field.Value).ToArray();
            }
            return _A_elements;
        }
    }
}

[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class Field
{
    public string Title { get; set; }
    public string Value { get; set; }

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string Hint { get; set; }
}

유용한 팁 : 직렬화에서 C # 개체를 생성하려면 프로젝트에 cs 파일을 추가하고 엽니 다. 직렬화하려는 XML을 복사하고 cs 파일에 커서를 놓고 붙여 넣는 대신 편집 메뉴에서 선택하여 붙여 넣기를 선택합니다. '클래스로 XML 붙여 넣기'옵션이 제공됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

QueryList를 사용하여 ContentChildren 내부의 HTMLButtonElement에 액세스

분류에서Dev

href 속성의 부모를 찾고 jquery를 사용하여 특정 속성에 액세스

분류에서Dev

미러를 사용하여 라이브러리 내부 필드에 액세스

분류에서Dev

미러를 사용하여 라이브러리 내부 필드에 액세스

분류에서Dev

XQuery를 사용하여 요소 내부의 요소에 액세스

분류에서Dev

outerClass.this를 사용하여 내부 클래스 내에서 외부 클래스에 액세스

분류에서Dev

AS3를 사용하여 호스트 속성에 액세스

분류에서Dev

변수를 사용하여 클래스 속성에 액세스

분류에서Dev

ng-if를 사용하여 개체 속성에 액세스

분류에서Dev

jQuery를 사용하여 부모 요소 속성에 어떻게 액세스 할 수 있습니까?

분류에서Dev

변수를 사용하여 필드 내부의 배열 구성원에 액세스 할 수 없습니다.

분류에서Dev

@를 사용하여 React Native의 일부 폴더에 액세스

분류에서Dev

htaccess를 사용하여 임시 IP에서 액세스 거부

분류에서Dev

EOF를 사용하여 스크립트에서 sudo 절 내부의 변수에 액세스하기

분류에서Dev

변수를 사용하여 파이썬 클래스 내부의 함수에 액세스

분류에서Dev

JQuery .find ()를 사용하여 Bootstrap Modal 내부의 입력 텍스트 필드에 액세스

분류에서Dev

다른 곳의 내부 개체를 사용하여 Kotlin Outer 클래스에 액세스

분류에서Dev

docker-compose를 사용하여 Docker 컨테이너 내부의 호스트 IP에 액세스

분류에서Dev

Javascript 생성자에서 'this'를 사용하여 속성에 액세스

분류에서Dev

reserve () 이후에 첨자를 사용하여 할당 * 엄격히 내부 * 벡터 요소에 액세스

분류에서Dev

내 사용자 지정 초기화 메서드를 사용하여 인스턴스화 된 개체의 속성에 액세스

분류에서Dev

Python에서 django를 사용하여 클래스 속성에 액세스

분류에서Dev

내부 IP 주소 (192.168.1.134)를 사용하여 액세스 할 수 없지만 localhost / 127.0.0.1에서 작동합니다.

분류에서Dev

UIautomator를 사용하여 상대 레이아웃 내부의보기에 액세스

분류에서Dev

내 AutoSuggest에서 오는 제안 속성에 액세스하는 방법 (.filter ()를 사용하여 사용자 지정)

분류에서Dev

for-in 루프 내에서 isKindOfClass를 사용하여 내 클래스의 속성에 액세스하려면 어떻게해야합니까?

분류에서Dev

PowerShell을 사용하여 JSON 내의 속성 및 키에 액세스

분류에서Dev

CSS를 사용하여 스타일 맞춤 속성에 액세스

분류에서Dev

minikube를 사용하여 kubernetes 클러스터 외부의 앱에 액세스

Related 관련 기사

  1. 1

    QueryList를 사용하여 ContentChildren 내부의 HTMLButtonElement에 액세스

  2. 2

    href 속성의 부모를 찾고 jquery를 사용하여 특정 속성에 액세스

  3. 3

    미러를 사용하여 라이브러리 내부 필드에 액세스

  4. 4

    미러를 사용하여 라이브러리 내부 필드에 액세스

  5. 5

    XQuery를 사용하여 요소 내부의 요소에 액세스

  6. 6

    outerClass.this를 사용하여 내부 클래스 내에서 외부 클래스에 액세스

  7. 7

    AS3를 사용하여 호스트 속성에 액세스

  8. 8

    변수를 사용하여 클래스 속성에 액세스

  9. 9

    ng-if를 사용하여 개체 속성에 액세스

  10. 10

    jQuery를 사용하여 부모 요소 속성에 어떻게 액세스 할 수 있습니까?

  11. 11

    변수를 사용하여 필드 내부의 배열 구성원에 액세스 할 수 없습니다.

  12. 12

    @를 사용하여 React Native의 일부 폴더에 액세스

  13. 13

    htaccess를 사용하여 임시 IP에서 액세스 거부

  14. 14

    EOF를 사용하여 스크립트에서 sudo 절 내부의 변수에 액세스하기

  15. 15

    변수를 사용하여 파이썬 클래스 내부의 함수에 액세스

  16. 16

    JQuery .find ()를 사용하여 Bootstrap Modal 내부의 입력 텍스트 필드에 액세스

  17. 17

    다른 곳의 내부 개체를 사용하여 Kotlin Outer 클래스에 액세스

  18. 18

    docker-compose를 사용하여 Docker 컨테이너 내부의 호스트 IP에 액세스

  19. 19

    Javascript 생성자에서 'this'를 사용하여 속성에 액세스

  20. 20

    reserve () 이후에 첨자를 사용하여 할당 * 엄격히 내부 * 벡터 요소에 액세스

  21. 21

    내 사용자 지정 초기화 메서드를 사용하여 인스턴스화 된 개체의 속성에 액세스

  22. 22

    Python에서 django를 사용하여 클래스 속성에 액세스

  23. 23

    내부 IP 주소 (192.168.1.134)를 사용하여 액세스 할 수 없지만 localhost / 127.0.0.1에서 작동합니다.

  24. 24

    UIautomator를 사용하여 상대 레이아웃 내부의보기에 액세스

  25. 25

    내 AutoSuggest에서 오는 제안 속성에 액세스하는 방법 (.filter ()를 사용하여 사용자 지정)

  26. 26

    for-in 루프 내에서 isKindOfClass를 사용하여 내 클래스의 속성에 액세스하려면 어떻게해야합니까?

  27. 27

    PowerShell을 사용하여 JSON 내의 속성 및 키에 액세스

  28. 28

    CSS를 사용하여 스타일 맞춤 속성에 액세스

  29. 29

    minikube를 사용하여 kubernetes 클러스터 외부의 앱에 액세스

뜨겁다태그

보관