The princess, 73, is suffering from chronic leukaemia, the royal palace confirmed in a statement.
Christina will undergo treatments this autumn but she is otherwise feeling "relatively good", they added.
Princess Christina will scale back her royal engagements
As a result she will scale back her royal duties and commit to engagements when her health permits.
"Princess Christina and her family hope [that the public] understand the situation and let the princess undergo the necessary treatment in peace," the palace concluded.
Christina's brother King Carl XVI Gustaf with his daughter Crown Princess Victoria and Victoria's husband Prince Daniel
Following the announcement Prince Daniel, Crown Princess Victoria's husband, told Expressen: "It's incredibly sad, and for all who have been affected by a disease itself or of a loved one then you know that it is incredibly heavy and hard. We'll keep our fingers crossed as we can for her to be healthy."
According to the NHS, chronic lymphocytic leukaemia is "a type of cancer that affects the white blood cells and tends to progress slowly over many years". It mostly affects people over the age of 60.
The 73-year-old royal has three sons with her husband Tord Magnuson
This is the second time Christina has been diagnosed with cancer. In 2010 she revealed that she had undergone treatment for breast cancer, including three surgeries, and had beaten the disease. She has since campaigned for cancer issues.
The princess, who is known as Christina Magnuson, is married to Tord Gösta Magnuson. She lost her style of Royal Highness upon her marriage to someone of unequal rank, but her brother the king gave her the courtesy title of Princess Christina, Mrs. Magnuson.
She and Tord have three sons together – Carl Gustaf Victor, Tord Oscar Frederik and Victor Edmund Lennart.