C # Xml 역 직렬화, XML의 데이터 무시

Sekhar

역 직렬화 중에 속성을 무시하려면 어떻게해야합니까? 제 경우에는 FullName속성 이 전혀 초기화되는 것을 원하지 않습니다 . 나는 [XMLIgnore]해결책을 찾고 있지 않습니다. 수업을 변경할 권한이없는 시나리오로 생각하십시오.

내 수업은 다음과 같습니다.

public class Person
{
    public int Id { get; set; }
    public string FullName { get; set; }
}

초기화하는 방법은 다음과 같습니다.

Person p1 = new Person() { Id = 1, FullName = "P1" };
Person p2 = new Person() { Id = 2, FullName = "P2" };
List<Person> persons = new List<Person> { p, q }; //this object is xml serialized. 

그리고 여기 내 XML이 있습니다. (XML 직렬화를 통해 얻었습니다)

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Person>
    <Id>1</Id>
    <FullName>P1</FullName>
  </Person>
  <Person>
    <Id>2</Id>
    <FullName>P2</FullName>
  </Person>
</ArrayOfPerson>
마이크 힉슨

FullName요소 를 건너 뛰는 deserialization 프로세스에서 사용자 지정 XmlReader를 사용할 수 있습니다 . 이 같은:

public class MyXmlReader : XmlTextReader
{
    public MyXmlReader(string filePath) : base(filePath)
    {
    }

    public override bool Read()
    {
        if (base.Read())
        {
            if (Name == "FullName")
                return base.Read();

            return true;
        }

        return false;
    }
}

그럼 이렇게 사용하세요

var serializer = new XmlSerializer(typeof(List<Person>));

using (var reader = new MyXmlReader("XMLFile.xml"))
{
    var person = (List<Person>)serializer.Deserialize(reader);
}

다른 생성자를 구현하여 스트림 또는 보유한 것을 취할 수 있습니다. 파일 경로 일 필요는 없습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 C # XML 역 직렬화 코드의 문제점은 무엇입니까?

분류에서Dev

C #의 목록이있는 개체에 XML 역 직렬화

분류에서Dev

XML 역 직렬화-속성이있는 요소 무시

분류에서Dev

C #을 사용하여 XML 파일에서 데이터를 직렬화 및 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

XML 시퀀스 항목 역 직렬화 C # .NET

분류에서Dev

XML 역 직렬화 다른 개체 C #

분류에서Dev

C # XML 역 직렬화 문제

분류에서Dev

C #에서 파일 XML 역 직렬화

분류에서Dev

xml 개체 C #으로 역 직렬화

분류에서Dev

List <> 속성을 예기치 않게 무시하는 C # xml 역 직렬화

분류에서Dev

XML 직렬화 및 역 직렬화 List <string> in C #

분류에서Dev

속성없이 XML 역 직렬화

분류에서Dev

Jackson 이상한 XML 역 직렬화

분류에서Dev

WinRT (스토어 애플리케이션)의 XML 직렬화 / 역 직렬화

분류에서Dev

다중 자식 C #의 역 직렬화 XML

분류에서Dev

C #에서 다른 종류의 XML 역 직렬화

분류에서Dev

XML을 C #의 목록으로 역 직렬화

분류에서Dev

중첩 된 목록의 XML 역 직렬화 C #

분류에서Dev

XML 역 직렬화 퍼즐

분류에서Dev

SQL Server XML 역 직렬화

분류에서Dev

동적 XML 역 직렬화

분류에서Dev

잭슨 역 직렬화 XML은 같은 이름의 필드

분류에서Dev

C #에서 형식 이름이 다른 XML 요소 역 직렬화

분류에서Dev

이 XML 파일을 역 직렬화하고 데이터 가져 오기

분류에서Dev

목록의 XML 역 직렬화

분류에서Dev

배열의 XML 역 직렬화

분류에서Dev

XML 역 직렬화 C #, 개행 문자 \ n이 \\ n으로 바뀝니다.

분류에서Dev

JSON 데이터 역 직렬화 C #

분류에서Dev

C # JSON 데이터 역 직렬화

Related 관련 기사

뜨겁다태그

보관